乐趣区

关于python:翻译6-个-Python-fstring-提示和技巧

翻译
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
退出移动版