翻译
6 Python f-strings tips and tricks
与传统的字符串格式化相比,Python 的 f-string 提供了一种更易读、更简洁、更不容易出错的字符串格式化方式。它们有很多有用的功能,在日常使用中肯定会很方便。让我们来看看其中的一些功能。
字符串插值
到目前为止,最常用的 f-string 功能是字符串插值。你所需要做的就是用花括号({}
)包裹这个值或变量就可以了。
str_val = 'apples'
num_val = 42
print(f'{num_val} {str_val}') # 42 apples
变量名
除了获取变量的值之外,你还可以在获取值的同时获取变量名。这在调试时特别有用,可以通过在花括号中的变量名称后面添加一个等号(=
)轻松实现。
请记住,应该考虑花括号中的空白,所以在等号周围添加空格可以使结果更容易阅读。
str_val = 'apples'
num_val = 42
print(f'{str_val=}, {num_val = }') # str_val='apples', num_val = 42
数学运算
与变量名的语法不同,你也可以在 f-string 中进行数学运算。你可以把数学表达式放在花括号内,如果你加上一个等号,你就会得到表达式和它的结果。
num_val = 42
print(f'{num_val % 2 = }') # num_val % 2 = 0
可打印表示
除了普通的字符串插值之外,你可能想得到一个值的可打印表示。使用 repr()
函数已经很容易实现了。f-string 通过在花括号内附加一个 !r
,提供了一个更简短的语法。
str_val = 'apples'
print(f'{str_val!r}') # 'apples'
数字格式化
此外,f-string 也可用于格式化——因此其名称中含有 f。要给一个值添加格式化,你可以添加一个冒号 (:
),后跟一个格式说明符。如果你想同时打印变量的名称,也可以与之前的等号结合使用。
数字是一个很好的候选者。例如,如果你想把一个数值修剪到小数点后的两个数字,你可以使用 .2f
格式说明符。
price_val = 6.12658
print(f'{price_val:.2f}') # 6.13
日期格式化
最后,日期的格式化也可以和数字一样,使用格式说明符。像往常一样,%Y
表示整年,%m
表示月份,%d
表示月份中的某一天。
from datetime import datetime
date_val = datetime.utcnow()
print(f'{date_val=:%Y-%m-%d}') # date_val=2021-07-09
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。