第015講:字串:格式化
目錄
4. 如果想要顯示Pi = 3.14,format前邊的字串應該怎麼填寫呢?
0. 編寫一個進位制轉換程式,程式演示如下(提示,十進位制轉換二進位制可以用bin()這個BIF):
1. 請寫下這一節課你學習到的內容:格式不限,回憶並複述是加強記憶的好方式!
測試題
0. 根據說明填寫相應的字串格式化符號
1. 請問以下這行程式碼會列印什麼內容?
>>> "{{1}}".format("不列印", "列印")
>>> "{{1}}".format("不列印", "列印")
'{1}'
2. 以下程式碼中,a, b, c是什麼引數?
>>> "{a} love {b}.{c}".format(a="I", b="FishC", c="com")
'I love FishC.com'
關鍵字引數
3. 以下程式碼中,{0}, {1}, {2}是什麼引數?
>>> "{0} love {1}.{2}".format("I", "FishC", "com") 'I love FishC.com'
位置引數
4. 如果想要顯示Pi = 3.14,format前邊的字串應該怎麼填寫呢?
''.format('Pi = ', 3.1415)
>>> '{0}{1:.2f}'.format('Pi = ', 3.1415)
'Pi = 3.14'
動動手
0. 編寫一個進位制轉換程式,程式演示如下(提示,十進位制轉換二進位制可以用bin()這個BIF):
q = True while q: num = input('請輸入一個整數(輸入Q結束程式):') if num != 'Q': num = int(num) print('十進位制 -> 十六進位制 : %d -> 0x%x' % (num, num)) print('十進位制 -> 八進位制 : %d -> 0o%o' % (num, num)) print('十進位制 -> 二進位制 : %d -> ' % num, bin(num)) else: q = False
1. 請寫下這一節課你學習到的內容:格式不限,回憶並複述是加強記憶的好方式!
(1)format()函式用法
使用位置引數:
>>> "{0} love {1}. {2}".format("I", "FishC", "com")
'I love FishC. com'
使用關鍵字引數:
>>> "{a} love {b}. {c}".format(a="I", b="FishC", c="com")
'I love FishC. com'
結合位置引數和關鍵字引數:
在這種情況下,位置引數必須在關鍵字引數之前,如:
>>> "{0} love {b}. {c}".format("I", b="FishC", c="com")
'I love FishC. com'
如果位置引數之前出現了關鍵字引數,就會報錯。如:
>>> "{a} love {0}. {c}".format(a="I", "FishC", c="com")
SyntaxError: positional argument follows keyword argument
format()用於保留幾位有效數字:
>>> '{0:.1f}'.format(27.678)
'27.7'
等價於
>>> '%.1f' %27.555
'27.6'
(2)字串格式化符號及其含義
符號 |
說明 |
%c |
格式化字元及其 ASCII 碼 |
%s |
格式化字串 |
%d |
格式化整數 |
%o |
格式化無符號八進位制數 |
%x |
格式化無符號十六進位制數 |
%X |
格式化無符號十六進位制數(大寫) |
%f |
格式化浮點數字,可指定小數點後的精度 |
%e |
用科學計數法格式化浮點數 |
%E |
作用同 %e,用科學計數法格式化浮點數 |
%g |
根據值的大小決定使用 %f 或 %e |
%G |
作用同 %g,根據值的大小決定使用 %f 或者 %E |
(3)格式化操作符輔助命令
符號 |
說明 |
m.n |
m 是顯示的最小總寬度(如果整個輸出的長度長度小於m,預設在左邊補空格),n 是小數點後的位數 |
- |
用於左對齊 |
+ |
在正數前面顯示加號(+) |
# |
在八進位制數前面顯示 '0o',在十六進位制數前面顯示 '0x' 或 '0X' |
0 |
顯示的數字前面填充 '0' 取代空格 |
(4)字串轉義字元
符號 |
說明 |
\' |
單引號 |
\" |
雙引號 |
\a |
發出系統響鈴聲 |
\b |
退格符 |
\n |
換行符 |
\t |
橫向製表符(TAB) |
\v |
縱向製表符 |
\r |
回車符 |
\f |
換頁符 |
\o |
八進位制數代表的字元 |
\x |
十六進位制數代表的字元 |
\0 |
表示一個空字元 |
\\ |
反斜槓 |