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

Python运行时如何获取动态拼接名称的变量的实际值

你拼接得到的是变量名对应的字符串,并非实际的变量引用,所以直接打印只会输出字符串本身,有几种方案可以实现你的需求:

方案1:使用globals()获取全局变量

如果变量定义在全局作用域,通过globals()返回的全局变量字典,用变量名字符串作为键即可取出对应值:

a1 = 10
a2 = 20 
for i in range(1, 3):
    var_name = f"a{i}"
    value = globals()[var_name]
    print(value)

运行后输出为:

10
20

方案2:使用locals()获取局部变量

如果变量定义在局部作用域(比如函数内部),替换为locals()即可:

def get_values():
    a1 = 10
    a2 = 20 
    for i in range(1, 3):
        var_name = f"a{i}"
        value = locals()[var_name]
        print(value)

get_values()

更推荐的实践

动态通过字符串匹配变量名的写法可读性、可维护性都较差,非特殊场景不推荐使用,更合理的做法是将同类型的序列数据提前存入列表或字典中,直接遍历取值:

# 用列表存储,直接遍历
a_list = [10, 20]
for value in a_list:
    print(value)

# 用字典存储,按key取值
a_dict = {"a1": 10, "a2": 20}
for i in range(1, 3):
    print(a_dict[f"a{i}"])

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 21:24:03