字符串格式化输出可以很方便地对字符串进行处理,同时解决字符串和变量同时输出的问题。也使得代码更具可读性。例如:
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 '''