使用 .format 时,如何在字符串中打印大括号字符?

非工作示例:

print(" \{ Hello \} {0} ".format(42))

所需输出:

 {Hello} 42 

答案 1

您需要将 和 加倍:{{}}

>>> x = " {{ Hello }} {0} "
>>> print(x.format(42))
' { Hello } 42 '

以下是 Python 文档中有关格式字符串语法的相关部分:

格式字符串包含用大括号括起来的“替换字段”。大括号中未包含的任何内容都被视为文本文本,文本文本将原封不动地复制到输出中。如果需要在文字文本中包含大括号字符,可以通过加倍来转义:和 。{}{{}}


答案 2

Python 3.6+ (2017)

在最新版本的Python中,人们会使用f字符串(另请参阅PEP498)。

对于f字符串,应该使用双精度或{{}}

n = 42  
print(f" {{Hello}} {n} ")

生产所需的

 {Hello} 42

如果需要解析括号中的表达式而不是使用文字文本,则需要三组括号:

hello = "HELLO"
print(f"{{{hello.lower()}}}")

生产

{hello}