【发布时间】:2020-09-10 07:48:37
【问题描述】:
对于 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 表达式,但看起来您不能包含 cmets。我对么?有没有办法做到这一点?
【问题讨论】:
-
你可以做的是:
>>> x=1;y=2 >>> data="""x: {x}, y: not wanted""" >>> data 'x: {x}, y: not wanted' >>> data.format(**locals()) 'x: 1, y: not wanted' >>> data.format(**globals()) 'x: 1, y: not wanted'虽然丑陋,但它不会抛出异常并且保留了 f-string 行为。但是使用 Jinja 或其他理智的东西而不是滥用 f-strings。 -
您是自己构建
html字符串还是从其他地方获取它?我不清楚你在做什么。 -
@CONvid19 我使用了 HTML 的示例,因为我认为它会更简单。实际上,我实际上是在构建一个 SQL 查询。
-
通过您的代表,我希望您知道如何使用ask a good question,具体来说,准确地描述您正在尝试做的事情,当您使用
html时显然不是这种情况尝试构建SQL查询时的示例。 -
@CONvid19 我无法告诉你寻找问题 X 的答案是多么令人沮丧,在 SO 上找到确切的问题,却发现评论员要求额外的细节,使问题变得更多窄,这样他们就可以回答 Y 问题,而不是 X 问题,所以我必须继续寻找 X 问题的答案。我知道 XY 问题是什么,但并不是每个问题 X 实际上都需要答案Y,大多数时候,我确实需要我所问问题的答案!