You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 06:09:54