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

Python中如何将字符串与数字拼接为变量名获取对应存储值

实现方案

有几种常见的实现方式,根据你的使用场景选择即可:

  • 方法1:使用globals()读取全局变量
    全局变量默认存储在globals()返回的字典结构中,直接拼接变量名作为key取值即可:
    variable1 = 55
    j = 1
    print(globals()[f"variable{j}"])
    # 输出结果:55
    
    如果是函数内部的局部变量,把globals()替换为locals()即可。
  • 方法2:使用字典存储同类序列变量(更推荐)
    直接动态读取变量名的方式容易出现作用域混乱、变量名拼写错误的问题,更稳妥的方案是把同前缀的序列变量统一存在一个自定义字典里:
    # 统一存储同规则的变量
    data_map = {
        "variable1": 55,
        "variable2": 66
    }
    j = 1
    print(data_map[f"variable{j}"])
    # 输出结果:55
    
  • 方法3:读取类属性时使用getattr()
    如果你要读取的是类的属性值,可以用内置的getattr方法:
    class VarContainer:
        variable1 = 55
    
    j = 1
    print(getattr(VarContainer, f"variable{j}"))
    # 输出结果:55
    

另外你给出的示例代码存在两个问题:一是variable拼写错成了varible,二是直接拼接字符串不会自动识别为变量名,只会输出拼接后的字符串内容,达不到读取变量值的效果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 00:06:03