gpt4 book ai didi

python - 为什么不能在 f 弦的大括号内使用反斜杠?我该如何解决这个问题?

转载 作者:太空宇宙 更新时间:2023-11-03 13:07:57 24 4
gpt4 key购买 nike

<分区>

在 Python >=3.6 中,f-strings 可以用来替代 str.format 方法。作为一个简单的例子,这些是等价的:

'{} {}'.format(2+2, "hey")
f'{2+2} {"hey"}'

无视format specifiers ,我基本上可以将 str.format 的位置参数移动到 f 字符串中的大括号内。请特别注意,我可以将 str 文字放在此处,尽管它看起来有点笨拙。

但是有一些限制。具体来说,backslashes in any shape or form在 f 字符串的大括号内是不允许的:

'{}'.format("new\nline")  # legal
f'{"new\nline"}' # illegal
f'{"\\"}' # illegal

如果它在大括号内,我什至不能使用 \ 来拆分长行;

f'{2+\
2}' # illegal

即使在正常的 str 中完全允许使用 \

'{\
}'.format(2+2) # legal

在我看来,如果解析器在 f 字符串的大括号内完全看到 \ 字符,就会将硬停止编码到解析器中。为什么实现此限制?虽然 docs指定此行为,它并不能说明原因。

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com