格式化的字符串文本语法

Formatted string literals grammar

提问人:joe 提问时间:12/15/2022 最后编辑:sj95126joe 更新时间:12/15/2022 访问量:35

问:

在 Python 官方文档 2.4.3 中。格式化的字符串文本定义了以下语法:

f_string          ::=  (literal_char | "{{" | "}}" | replacement_field)*

有人可以解释为什么这里有两个大括号吗?

python-3.x 字符串

评论


答:

2赞 sj95126 12/15/2022 #1

这在语法定义下方有解释:

大括号外的字符串部分按字面意思处理,但任何双大括号“{{”或“}}”都替换为相应的单大括号。

这样,如果您希望出现文字大括号,您可以“转义”大括号。举个例子:

>>> print(f"braces look like {{this}}")
braces look like {this}