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

如何在Python的str.format中使用变量定义的命名参数?

你遇到的问题根源是:format()里的Parameter1=10是把参数名设成了Parameter1,而不是把变量Parameter1的值(也就是C10)作为参数名。所以字符串里的{C10}找不到对应的参数,自然报KeyError。

下面给两种可行的解决方法:

方法一:用字典+解包语法(推荐)

先把参数名和对应的值存进字典,再用**把字典解包成format()需要的命名参数:

Parameter1 = 'C10'
Parameter2 = 'C20'

# 构造参数字典,键是你要的占位符名称,值是对应内容
param_dict = {
    Parameter1: 10,
    Parameter2: 20
}

# 用**解包字典,传递给format
result = "{C10} {C20}".format(**param_dict)
print(result)  # 输出:10 20

方法二:利用全局/局部变量字典(不推荐,慎用)

如果一定要用类似硬编码命名参数的方式,可以把动态参数名存入全局或局部变量字典,再用f-string读取:

Parameter1 = 'C10'
Parameter2 = 'C20'

# 把值存入全局变量字典,键是动态参数名
globals()[Parameter1] = 10
globals()[Parameter2] = 20

# 直接用f-string读取变量
result = f"{C10} {C20}"
print(result)  # 输出:10 20

这种方法要注意:修改全局变量可能会和现有变量冲突,代码可读性也差,除非特殊场景不建议用。

内容的提问来源于stack exchange,提问作者mandeep

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 22:42:09