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

Django中如何将拼接得到的字符串转为对应已声明变量的取值

问题解决方法

你可以通过以下几种方式实现需求:

  • 方法1:使用globals()获取全局变量(适用于变量为全局作用域的场景)
    globals()会返回当前所有全局变量组成的字典,变量名是字典的键,变量值是对应的值,示例代码如下:
a1 = 10
b = "a" + "1"
print(globals()[b])
# 输出结果为 10
  • 方法2:使用locals()获取局部变量(适用于变量在函数内部等局部作用域的场景)
    如果要获取的变量是局部作用域内的,替换为locals()即可:
def test():
    a1 = 10
    b = "a" + "1"
    print(locals()[b])

test()
# 输出结果为 10
  • 方法3:使用eval()(不推荐,存在安全风险)
    eval()可以执行字符串形式的Python表达式,虽然可以实现需求,但如果字符串内容不可控会有注入风险,示例如下:
a1 = 10
b = "a" + "1"
print(eval(b))
# 输出结果为 10

最佳实践建议:如果有大量需要通过动态名称访问的变量,更推荐直接使用字典存储键值对,而非声明多个独立变量,这种方式可读性、安全性和可维护性都更高,示例如下:

data = {"a1": 10}
b = "a" + "1"
print(data[b])
# 输出结果为10

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 14:54:03