在 f 字符串中转义单括号
escape single bracket in f-string
我正在尝试按以下格式打印字符串:
"rob: {color: red , number: 4}"
使用 f 字符串填充三个值:
f"{name}: color: {color} , number: {number}" #missing brackets
这将打印:
"rob: color: red , number: 4" #missing brackets
但我不知道如何按照我需要的方式转义单个括号。我知道 {{}}
可以让你转义括号,但这会在字符串的同一个地方打印出来。我在各自的位置尝试了 { { }
和 { } }
,但这只是抛出了一个错误。
显示变量时使用双括号,变量使用单括号。参见 this post
f"{name}: {{color: {color} , number: {number} }}"
目标:
"rob: {color: red , number: 4}"
完成:
>>> name = 'rob'
>>> color = 'red'
>>> number = 4
>>> print(f"{name}: {{color: {color} , number: {number}}}")
rob: {color: red , number: 4}
您可以计算 f 字符串中的字符串文字 '{'
和字符串文字 '}'
,用大括号括起来进行计算:
f"{name}: {'{'}color: {color}, number: {number}{'}'}"
示例:
>>> name = 'bob'
>>> color = 'red'
>>> number = 4
>>> f"{name}: {'{'}color: {color}, number: {number}{'}'}"
'bob: {color: red, number: 4}'
我正在尝试按以下格式打印字符串:
"rob: {color: red , number: 4}"
使用 f 字符串填充三个值:
f"{name}: color: {color} , number: {number}" #missing brackets
这将打印:
"rob: color: red , number: 4" #missing brackets
但我不知道如何按照我需要的方式转义单个括号。我知道 {{}}
可以让你转义括号,但这会在字符串的同一个地方打印出来。我在各自的位置尝试了 { { }
和 { } }
,但这只是抛出了一个错误。
显示变量时使用双括号,变量使用单括号。参见 this post
f"{name}: {{color: {color} , number: {number} }}"
目标:
"rob: {color: red , number: 4}"
完成:
>>> name = 'rob'
>>> color = 'red'
>>> number = 4
>>> print(f"{name}: {{color: {color} , number: {number}}}")
rob: {color: red , number: 4}
您可以计算 f 字符串中的字符串文字 '{'
和字符串文字 '}'
,用大括号括起来进行计算:
f"{name}: {'{'}color: {color}, number: {number}{'}'}"
示例:
>>> name = 'bob'
>>> color = 'red'
>>> number = 4
>>> f"{name}: {'{'}color: {color}, number: {number}{'}'}"
'bob: {color: red, number: 4}'