Python中是否有类似Go %q的f-string值自动引号格式化选项?
Python f-string 实现值自动加引号的方案
Python的f-string本身并没有提供类似Go语言%q的:q格式化选项,但有几种更简洁安全的替代方法:
嵌套引号避免转义:利用单双引号嵌套,不用写转义符,代码更清爽:
# 用单引号包裹值 f"This is the value I want quoted: '{value}'" # 用双引号包裹值 f'This is the value I want quoted: "{value}"'使用
repr()函数:这是最接近Go%q的方案,它会自动给字符串添加单引号,还能智能转义字符串内部的特殊字符(比如换行、引号),避免手动处理的潜在问题:f'This is the value I want quoted: {repr(value)}'示例:当
value = 'hello "world"'时,输出为This is the value I want quoted: 'hello "world"',内部双引号被正确保留。自定义引号函数:如果需要统一用特定类型的引号(比如始终双引号),可以封装一个简单函数:
def quote_with_double(s): return f'"{s}"' f'This is the value I want quoted: {quote_with_double(value)}'
内容的提问来源于stack exchange,提问作者Woody1193
相关产品推荐
相关产品推荐

