Python 3.8从零开始学
上QQ阅读APP看书,第一时间看更新

4.2.5 f-string字符串格式化

f-string(或者称为“格式化字符串”)在Python 3.6版本中加入的,虽然这一特性非常方便,但是开发者发现f-string对调试没有帮助。因此,Eric V. Smith为f-string添加了一些语法结构,使其能够用于调试。

在过去,f-string这样使用:

>>> name='xiaomeng'
>>> number=1001
>>> print(f'name={name}, number={number}')
name=xiaomeng, number=1001

在Python 3.8中,可以使用如下方式(更加简洁):

>>> name='xiaomeng'
>>> number=1001
>>> print(f'{name=}, {number=}')
name='xiaomeng', number=1001

f字符串格式可以更方便地在同一个表达式内进行输出文本和值或变量的计算,而且效率更高。

在过去,f-string这样使用:

>>> x=5
>>> print(f'{x+1}')
6

在Python 3.8中,可以输出表达式及计算结果,操作如下:

>>> x=5
>>> print(f'{x+1=}')
x+1=6

对于小数,若需要输出指定位数,可以如下操作:

>>> import math
>>> print(f'{math.pi=}')
math.pi=3.141592653589793
>>> print(f'{math.pi=:.3}') # 输出3位数,小数位两位
math.pi=3.14

由输出可以看到,对于小数的输出,:.3中的3是指输出的总位数,而不是指小数位数,在使用过程中需要注意。