python字符串的格式化输出

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

点击查看代码
xing='李'
ming='北群'
result=f'{xing}{ming}'
print(result)
'''
李北群
'''

在python 3.5以及更早的版本,我们使用format()方法。python 3.6则引入了f字符串方法。

1.format方法

  1. 基本用法

<字符串>.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
'''
posted @ 2021-08-09 15:24  zeroy610  阅读(796)  评论(0编辑  收藏  举报