Python 语言格式字面量(f-string)


本文向大家介绍Python 语言格式字面量(f-string),包括了Python 语言格式字面量(f-string)的使用技巧和注意事项,需要的朋友参考一下

示例

在PEP 498(Python3.6及更高版本)中引入了字面量格式的字符串,使您可以f在字符串文字的开头添加前缀,以有效地将.format其应用于当前范围内的所有变量。

>>> foo = 'bar'
>>> f'Foo is {foo}'
'Foo is bar'

这也适用于更高级的格式字符串,包括对齐方式和点表示法。

>>> f'{foo:^7s}'
'  bar  '

注意:f“”不表示特定类型,如python2中b“”表示字节,u“”表示unicode。立即应用格式化,从而产生正常的stirng。

格式字符串也可以嵌套

>>> price = 478.23
>>> f"{f'${price:0.2f}':*>20s}"
'*************$478.23'

f字符串中的表达式按从左到右的顺序求值。仅当表达式具有副作用时才可以检测到:

>>> def fn(l, incr):
...    result = l[0]
...    l[0] += incr
...    return result
...
>>> lst = [0]
>>> f'{fn(lst,2)} {fn(lst,3)}'
'0 2'
>>> f'{fn(lst,2)} {fn(lst,3)}'
'5 7'
>>> lst
[10]