字符串格式化輸出可以很方便地對字符串進行處理,同時解決字符串和變量同時輸出的問題。也使得代碼更具可讀性。例如:
點擊查看代碼
xing='李'
ming='北群'
result=f'{xing}{ming}'
print(result)
'''
李北群
'''
在python 3.5以及更早的版本,我們使用format()方法。python 3.6則引入了f字符串方法。
1.format方法
- 基本用法
<字符串>.format(<以逗號分隔的參數>)
字符串中帶有一系列待填充槽,用大括號{}表示,括號里帶有序號。該方法將參數按序號填充到槽里,返回一個新字符串。如果槽中沒有序號,則按順序填充。
槽的序號順序可以自己指定(從0開始),參數的序號從零開始。
點擊查看代碼
x='{1} > {0} > {2}'.format('A','B','C')
print(x)
'''
B > A > C
'''
也可以設置參數。比如'{x}'.format(x='libeiqun')。參數還可以通過列表和字典來設置。
點擊查看代碼
x='{x} is a {y}'.format(x='tom',y='boy')
print(x)
'''
tom is boy
'''
temp={'x':'li','y':'bei','z':'qun'}
x='{x} {y}{z}'.format(**temp)
print(x)
'''
li beiqun
'''
2.槽內格式控制
槽內除了參數序號,還可以包括格式控制符,用來對填充參數進行處理。
格式為:{<參數序號(可不填)>:<格式控制符>}。格式控制符可分為以下幾種:
- 空白填充:僅單個字符
- 對齊:<左對齊 >右對齊 ^居中對齊
- 設置寬度:設置返回字符串的長度
- 分隔符:用於整數和浮點數,對參數加入千位分隔符。
- 設置精度:設置浮點數的小數部分進行有效位數保留,或設置字符串的最大輸出長度。
- 類型:設置整數和浮點數的輸出格式。
對於整數:b:轉為二進制 c:Unicode字符 d:十進制 o:八進制 x:小寫十六進制 X:大寫十六進制。
對於浮點數:e:輸出浮點數的e指數格式 E:E指數格式 f:標准浮點數格式 %:輸出百分比格式
輸出浮點數常用<.精度>對小數部分進行取精度。
空白填充,對齊,設置寬度是相關字段。設置寬度指定返回字符串的長度;對齊指定左右中對齊方式;空白填充指定多余的字段用什么字符進行填充。它們往往組合調用。
點擊查看代碼
x='{:*^15}'.format('hello')
print(x)
'''
*****hello*****
'''
print('{x:-^30.5}'.format(x='nuisting'))
'''
------------nuist-------------
'''
分隔符:
點擊查看代碼
點擊查看代碼
x='{:*<20,}'.format(1256554562)
print(x)
'''
1,256,554,562*******
'''
精度設置:
點擊查看代碼
x='{:.3f}'.format(3.1415926)
print(x)
'''
3.142
'''
x='{:-^30.5}'.format('republic')
print(x)
'''
------------repub-------------
'''
類型:
點擊查看代碼
x='{a:b} {a:c} {a:d} {a:o} {a:x} {a:X}'.format(a=38845)
print(x)
'''
1001011110111101 鞽 38845 113675 97bd 97BD
'''
x='{a:e} {a:E} {a:f} {a:%}'.format(a=3.1415926)
print(x)
'''
3.141593e+00 3.141593E+00 3.141593 314.159260%
'''
2.f字符串
f字符串方法與format並無太大區別。
點擊查看代碼
x='university'
print(f'{"nuist":*^15} is our {x}')
'''
*****nuist***** is our university
'''
