Python 中如何在使用 format/f-string 时输出花括号字符 {}?

Python 字符串中输出字面花括号:format 用 {{ }} 转义;f-string 用 {{ }} 转义。本文介绍各种格式化方式中的花括号转义。

最佳实践
Python 中如何在使用 format/f-string 时输出花括号字符 {}?封面

.format() 或 f-string 中,用双花括号 {{}} 转义——{{ 输出 {}} 输出 }

.format() 中转义

print("{{example}}".format())
# 输出: {example}

print("{{{}}}".format("value"))
# 输出: {value}

注意三层的 {{{}}}:外层 {{}} 是转义的字面花括号,内层 {} 是 format 的占位符。

f-string 中转义

name = "world"
print(f"{{hello}}")
# 输出: {hello}

print(f"{{{name}}}")
# 输出: {world}

规则相同:{{{}}},内部的 {} 仍然是变量插值。

百分号格式化不需要转义

print("{example}")
# 输出: {example}——不做 format 就没有转义问题

常见问题(FAQ)

Q:想在 JSON 模板里用 format?
A:JSON 大量使用花括号,用 format/f-string 会很痛苦(每个花括号都要双写)。建议改用 json.dumps() 或字符串拼接,或用 string.Template(用 $var 占位,不冲突)。

Q:输出 {{ 两个字面花括号?
A:写四个:{{{{,输出 {{

Q:% 格式化需要转义花括号吗?
A:不需要。"%s {example}" % "hello" 中花括号不是特殊字符,原样输出。

获取专属方案

联系我们

加入社区

微信扫码
加入官方交流群

立即体验

在线开通,按量计费,真正的云服务!

立即开始

选择观测云版本

代码托管平台