print() 輸出函式
print() 函式是Python語言最常用的輸出函式,可以將數值、字串…等資料,以指定的格式在螢幕上顯示出來。其常用的語法如下:
print(values %(引數串列), sep=間隔字串, end=結尾字串)-
values:為要顯示的資料,可以是數值常值、字串常值或變數,甚至是多筆資料,資料間用「,」間隔。若要在字串常值中顯示變數資料,則要使用格式字串,並配合%(引數串列)。 -
%(引數串列):引數串列為values要顯示的常數或變數。 -
sep: 設定顯示多筆資料時的間隔字串,預設值為半形空白字元。 -
end: 設定輸出資料字串的結尾字串,預設值為 ‘\n’ (換行字元) 。
[例] 利用 print() 函式顯示各種資料: (檔名:print1.py)
print('Python',3.8) # 顯示字串 Python 和浮點常數值 3.8 -> Python 3.8
print('台北','台中','台南',sep=',') # 顯示多筆字串資料 Python,間隔用 ',' -> 台北,台中,台南
print('高雄','屏東',sep='\t') # 顯示多筆字串資料 Python,間隔用 'tab' -> 高雄 屏東
print('價目表:',end='') # 顯示字串: 價目表:,結尾字串設為空字串,也就是不會換行。 -> 價目表:
money=30
print('陽春麵',money,'元') # 顯示 money 變數 -> 陽春麵 30 元1. 格式字串
print()函式要顯示的字串資料,是用單引號或雙引號前後框住,其中可以由一般字串、轉換字串和逸出序列三個部分組合而成。
1. 一般字串
即為任何可顯示的字元組合,如:A~Z、a~z、0~9、!*#$^& … 以及中文字元。print() 函式會將一般字串做完整的輸出。
[例] 利用 print()函式輸出「Python基礎必修課」字串: (檔名: print2.py)
print('Python基礎必修課')2. 轉換字串
所謂的格式字串輸出,就是在一般字串輸出時,在字串內指定位置插入指定的資料,如此資料可套用格式輸出。
其作法是在字串的指定位置用轉換字串,轉換字串是由 % 轉換字元和型別字元所組合。
Python 建議用字串物件的 format() 方法來格式化字串,但是轉換字串使用者仍然很多。轉換字串位置用來插入引數串列對應的資料,如下所示:
-輸出函式/img-20260716202358245.png)
在格式字串內的轉換字串與引數串列的引數,除了數量要一致,其轉換字串的型別字元也必須與相對應引數的資料型別一致。語法如下
%[修飾字元][寬度][.小數位數]型別字元說明:
-
型別字元
用來指定輸出資料的型別,型別必須與相對應引數的資料型別一致,下表是常用的型別字元:資料型別 %型別字元 說明 字元 %c顯示單一字元。 字串 %s顯示字串。 字元、字串 %%顯示 % 字元。 整數 %d、%i以十進位顯示整數。 整數 %o以八進位顯示整數。 整數 %x、%X以十六進位顯示整數。 浮點數 %f以十進位顯示浮點數,小數部預設 6 位。 浮點數 %e、%E、%g、%G以十進位科學記號顯示浮點數,數值預設寬度為 8 位,小數部預設 6 位,而 e 指數位數預設佔 2 位。 [例] 利用轉換字串的型別字元輸出各種常值和變數: (檔名: print2.py)print('Python基礎必修課') print('%c%s先生'%('張','無忌')) # 插入字元和字串。 輸出: 張無忌先生 wt,price =30,20.5 # 宣告整數和浮點數變數 print('%s%d斤,共%f元'%('香蕉',wt,wt*price)) # 輸出: 香蕉30斤,共615.000000元 -
寬度
用來設定資料顯示的總寬度(即字數),浮點數的小數點也占一個寬度。若寬度比資料本身寬度小,則以資料實際寬度全部顯示 -
小數位數
如果資料是浮點數時用來設定小數位數,預設值為六位。如果資料小數位數較多時會四捨五入;較少時則會補上0。如果是字串資料則用來設定顯示的字元數。[例] 設定寬度來格式化輸出各種資料:(△: 代表空格) (檔名:
print3.py)print('%d'%(12345)) # 顯示整數資料,數值「12345」,未設寬度時直接顯示整數資料。 -> 12345 print('%8d'%(12345)) #顯示數值「ΔΔΔ12345」,設寬度為8,寬度有剩時補空格(靠右對齊) print('%-8d'%(-12345)) #顯示數值「-12345ΔΔ」,靠左對齊,寬度有剩時補空格 print('%08d'%(12345)) #顯示數值「00012345」,設寬度為8,寬度有剩時補0 print('%3d'%(-12345)) #顯示數值「-12345」,設寬度為3,寬度不足時全部顯示 print('%c'%('A')) #顯示字元「A」 print('%4c'%('A')) #顯示字元「ΔΔΔA」,寬度為4有剩補空格 print('%c'%(65)) #顯示字元「A」,65的ASCII碼為「A」 print('%s'%('ABCDE')) #顯示字串「ABCDE」 print('%8s'%('ABCDE')) #顯示字串「ΔΔΔABCDE」,設寬度為8,寬度有剩時補空格(靠右對齊) print('%3s'%('ABCDE')) #顯示字串「ABCDE」,寬度不足時全部顯示 print('%6.2s'%('ABCDE')) #顯示字串「ΔΔΔΔAB」,設寬度為6並只顯示2字元[例] 檔名:
print4.pyprint('%f'%12345.67) #顯示數值「12345.670000」,小數位數預設6位 print('%f'%-12.345) #顯示數值「-12.345000」,小數位數預設6位 print('%.2f'%12.345) #顯示數值「12.35」,小數位數2位,第3位四捨五入 print('%8.2f'%-12.3456) #顯示數值「ΔΔ-12.35」,總寬度8位,小數2位 print('%3.1f'%123.45) #顯示數值「123.5」,設寬度為3且小數1位,寬度不足時全部顯示 print('%8.0f'%-1234.56) #顯示數值「ΔΔΔ-1235」,設小數位數 0 位,第 1 位四捨五入 print('%8.0f'%1234.56) #顯示數值「ΔΔΔΔ1235」,設小數位數 0 位,第 1 位四捨五入 #改用科學記號顯示,e指數位數佔2位(不含+-號),小數部份佔6位 print('%E'%1234567.89) #顯示「1.234568E+06」,科學記號寬度不足時會四捨五入 print('%e'%123.4) #顯示「1.234000e+02」,小數部份佔6位,小數位數不足補0 print('%10.2e'%12345.6) #顯示「ΔΔ1.23e+04」,設總寬度10, 小數佔2位 print('%10.2E'%0.000123456) #顯示「ΔΔ1.23E-04」, 設總寬度10, 小數佔2位 -
修飾字元
可以進一步設定輸出的格式,常用的修飾字元如下表所示:修飾字元 說明 #配合二、八和十六進制,設定顯示 0b、0o、0x等進制符號。0數值資料前面多餘的寬度補 0。-靠左對齊,預設值是靠右。 空白字元 會保留一個空格。 [例] 利用修飾字元來格式化各種資料: (檔名:
print5.py)print('%#x'%12345) #顯示十六進制符號 print('%08d'%12345) #空格補零 print('%-8d'%12345) #靠左對齊 print('% d'%12345) #保留一個空格
3. 逸出序列(Escape sequence)
若格式字串內需要顯示一些特殊控制字元,如: 雙引號 「""」、單引號「’」、控制游標移動字元(跳格或跳到下一行行首),可在特殊字元前加逸出字元 「\」,當逸出字元加上控制字元就構成逸出序列。下表為逸出序列的使用說明:
| 逸出序列 | 使用說明 |
|---|---|
\a | 發出系統聲。 |
\b | 倒退鍵(Backspace),遊標會由 \b 所在位置向左移一個字元。 |
\f | 換頁。 |
\n | 換行,遊標會由逸出序列所在位置跳到下一行的行首。 |
\r | 移到行首,會刪除掉該行逸出序列所在位置前面的所有字元。 |
\t | 水平跳格,相當於按 Tab 鍵。 |
\\ | 顯示倒斜線「\」字元。 |
\' | 顯示單引號「'」字元。 |
\" | 顯示雙引號「"」字元。 |
[例] 練習在格式字串內使用逸出序列,並觀察輸出結果: (檔名:print6.py)
print('1234567890!\a') # 插入 \a,顯示字串「1234567890!」並出現音效聲 -> 1234567890! 並有系統聲
print('12345\b67890!') # 覆蓋字元 5。 -> 123467890!
print('1234567890!\n') # 游標跳到下一行行首 -> 1234567890!
print('123\r4567890!') # 游標跳回同一行行首,覆蓋掉原本的 "123"。 -> 4567890!
print('123\t4567') # 插入水平跳格。 -> 123 4567
print('12\\3\'45\"67') # 插入 '\','"' 字元 -> 12\3'45"672. 引數串列
- 引數可以為數值常值、字串常值、字元、變數、運算式…等。
- 每個引數依序對應前面格式字串內的轉換字串,轉換成指定格式的字串輸出。
- 引數的個數必須和格式字串中的轉換字串個數相同,且兩者的資料型別要匹配。
- 引數只有一個時,
()括弧可以省略不用。
[例] 練習使用各種引數串列方式,來顯示「汽水2打24瓶」(檔名: print7.py)
print('汽水2打24瓶') # 顯示一般字串常數值。 輸出: 汽水2打24瓶
print('汽水%d打24瓶'%2) # 引數串列只有一個時,()可省略。 輸出: 汽水2打24瓶
print('%s%d打%d瓶'%('汽水',2,24)) # 引數串列使用三個常值。 輸出: 汽水2打24瓶
dozen=2
print('%s%d打%d瓶'%('汽水',dozen,dozen*12)) #引數串列使用字串、變數、運算式。 輸出: 汽水2打24瓶