代码之家  ›  专栏  ›  技术社区  ›  RADIO BUTIK

在引号中插入变量[重复]

  •  0
  • RADIO BUTIK  · 技术社区  · 2 年前

    我有一个字符串,我想要花括号,但也要利用f字符串功能。是否有一些语法适用于此?

    这里有两种方法不起作用。我想包括字面意思 {bar} 作为字符串的一部分。

    foo = "test"
    fstring = f"{foo} {bar}"
    

    NameError: name 'bar' is not defined

    fstring = f"{foo} \{bar\}"
    

    SyntaxError: f-string expression part cannot include a backslash

    期望结果:

    'test {bar}'
    

    编辑:看起来这个问题的答案与 How can I print literal curly-brace characters in a string and also use .format on it? ,但只有你知道,你才能知道 str.format 使用与f-string相同的规则。因此,希望这个问题在将f-string搜索者与这个答案联系起来方面有价值。

    0 回复  |  直到 5 年前
        1
  •  502
  •   Arthur Tacca wim    6 年前

    尽管解析器存在自定义语法错误 same trick 就像打电话一样 .format 在常规字符串上。

    使用双光标:

    >>> foo = 'test'
    >>> f'{foo} {{bar}}'
    'test {bar}'
    

    规范中提到了 here 以及文档 here .