首页 > 解决方案 > = (equal) 在表达式大括号内的 f 字符串中做什么?

问题描述

众所周知,Python f 字符串中 {} 的用法是执行代码片段并以格式给出结果(这里string有一些教程)。但是,表达式末尾的“ = ”是什么意思?

log_file = open("log_aug_19.txt", "w") 
console_error = '...stuff...'           # the real code generates it with regex
log_file.write(f'{console_error=}')

标签: pythonpython-3.xstringpython-3.8f-string

解决方案


这实际上是Python 3.8 的一个全新特性

=为 f 字符串添加了说明符。一个 f 字符串,如f'{expr=}' 将扩展为表达式的文本、一个等号,然后是计算表达式的表示。

从本质上讲,它促进了打印调试的频繁用例,因此,我们通常必须编写:

f"some_var={some_var}"

我们现在可以写:

f"{some_var=}"

因此,作为演示,使用全新的 Python 3.8.0 REPL:

>>> print(f"{foo=}")
foo=42
>>>

推荐阅读