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

新手上路,请多包涵

非工作示例:

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

期望的输出:

  {Hello} 42

原文由 Schitti 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 603
2 个回答

您需要将 {{}}

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

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

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

原文由 Greg Hewgill 发布,翻译遵循 CC BY-SA 4.0 许可协议

Python 3.6+ (2017)

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

对于 f-strings,应该使用 double {{}}

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

产生所需的

 {Hello} 42

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

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

产生

{hello}

原文由 divenex 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题