fiz*_*ear 5 python string-formatting python-internals
我们通常使用反斜杠来转义非法字符。
例如,转义双引号。
>>> "\"" == '"'
True
Run Code Online (Sandbox Code Playgroud)
在 f 字符串中,花括号用于占位。为了表示花括号,花括号被加倍。
例如,
>>> f"{{}}" == "{}"
True
Run Code Online (Sandbox Code Playgroud)
为什么在开发 f 弦时不喜欢这种直观的方法?有什么技术或设计原因吗?
>>> f'\{\}'
File "<stdin>", line 1
SyntaxError: f-string expression part cannot include a backslash
Run Code Online (Sandbox Code Playgroud)
我相信 PEP 536(文字字符串插值的最终语法)说明了这一点: https: //www.python.org/dev/peps/pep-0536/
PEP 动机部分的一个简短片段是“CPython 中 f 字符串的当前实现依赖于现有的字符串解析机制及其标记的后处理。这导致对 f 字符串中可用的可能表达式的一些限制:“
有关更多信息,请参阅此链接的电子邮件。
| 归档时间: |
|
| 查看次数: |
561 次 |
| 最近记录: |