有没有办法在 f 字符串中包含注释?
Is there a way to include a comment in an f-string?
mo 在 f 字符串中包含注释会很有用。例如,拿这个代码:
f"""
<a
href="{ escape(url) }"
target="_blank" { # users expect link to open in new tab }
>bla</a>
"""
如果这段代码等价于:
就好了
f"""
<a
href="{ escape(url) }"
target="_blank"
>bla</a>
"""
您可以在大括号之间包含完整的 Python 表达式,但看起来您不能包含注释。我对么?有办法吗?
来自PEP498:
Comments, using the '#'
character, are not allowed inside an expression.
除了在Python中放一个'#'
字符外,没有办法评论,所以不可能。
没有。 f-string中没有注释
构建 str
时,模板引擎可能有点矫枉过正。加入 list
个 str
可能是可取的。
s = ''.join([
'<a',
f' href="{escape(url)}"',
' target="_blank">',
# users expect link to open in new tab
'bla</a>',
])
您不能在表达式内写评论。但是您可以在多个片段中编写一个字符串,并在 2 个片段之间写一个注释,前提是下一个片段从不同的行开始:
s = (f"""
<a
href="{ escape(url) }"
target="_blank" """ # users expect link to open in new tab
f""">bla</a>
""")
mo 在 f 字符串中包含注释会很有用。例如,拿这个代码:
f"""
<a
href="{ escape(url) }"
target="_blank" { # users expect link to open in new tab }
>bla</a>
"""
如果这段代码等价于:
就好了f"""
<a
href="{ escape(url) }"
target="_blank"
>bla</a>
"""
您可以在大括号之间包含完整的 Python 表达式,但看起来您不能包含注释。我对么?有办法吗?
来自PEP498:
Comments, using the
'#'
character, are not allowed inside an expression.
除了在Python中放一个'#'
字符外,没有办法评论,所以不可能。
没有。 f-string中没有注释
构建 str
时,模板引擎可能有点矫枉过正。加入 list
个 str
可能是可取的。
s = ''.join([
'<a',
f' href="{escape(url)}"',
' target="_blank">',
# users expect link to open in new tab
'bla</a>',
])
您不能在表达式内写评论。但是您可以在多个片段中编写一个字符串,并在 2 个片段之间写一个注释,前提是下一个片段从不同的行开始:
s = (f"""
<a
href="{ escape(url) }"
target="_blank" """ # users expect link to open in new tab
f""">bla</a>
""")