如何在python 3.6中转义f字符串?

How to escape f-strings in python 3.6?

本问题已经有最佳答案,请猛点这里访问。

我有一个字符串,在其中我想要花括号,但也利用了F字符串功能。有没有适合这个的语法?

这有两种方法不起作用。我想将文本"EDOCX1"〔0〕作为字符串的一部分。

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

名称错误:未定义名称"bar"

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

语法错误:F字符串表达式部分不能包含反斜杠

期望结果:

1
'test {bar}'

编辑:看起来这个问题的答案和我如何在python字符串中打印文本的大括号字符一样,并且在上面使用.format?但是,只有知道format函数使用与f-string相同的规则时才能知道。所以希望这个问题对于将F字符串搜索者与这个答案联系起来有价值。


尽管解析器中有一个自定义语法错误,但与常规字符串的语法错误相同。

使用双卷:

1
2
3
>>> foo = 'test'
>>> f'{foo} {{bar}}'
'test {bar}'

这里的规范和这里的文档中都提到了它。