有没有办法在f字符串中包含评论?

时间:2020-05-23 13:06:15

标签: python 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表达式,但看起来您似乎不能包含注释。我对么?有办法吗?

3 个答案:

答案 0 :(得分:5)

来自PEP498

不允许在表达式内使用'#'字符进行注释。

除了在Python中放置'#'字符外,没有其他方法可以注释,所以这是不可能的。

答案 1 :(得分:1)

不。 f字符串中没有评论。

构建str时,模板引擎可能会过大。加入list中的str

s = ''.join([
    '<a',
    f' href="{escape(url)}"',
    ' target="_blank">',
    # users expect link to open in new tab
    'bla</a>',
])

答案 2 :(得分:1)

您不能在表达式中 内写评论。但是您可以在多个片段中写一个字符串,并在两个片段之间写一个注释,前提是下一个片段在不同的行开始:

s = (f"""
<a
   href="{ escape(url) }"
   target="_blank" """ # users expect link to open in new tab
f""">bla</a>
""")