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

如何在Python中从字典生成以键为变量名的类实例

把字典键值对转为对应变量名的类实例

当然可以实现,下面是两种实用的方法:

方法1:用globals()直接更新全局命名空间

Python的globals()函数会返回当前的全局命名空间字典,我们可以直接把test_dict里的键值对合并进去:

class Class1:
    pass

class Class2:
    pass

class Class3:
    pass

test_dict = {"test1": Class1(), "test2": Class2(), "test3": Class3()}

# 一键把字典内容转为全局变量
globals().update(test_dict)

# 现在就能直接用test1、test2、test3这些变量了
print(test1)  # 输出类似 <__main__.Class1 object at 0x102345678>

方法2:用exec动态生成赋值语句

遍历字典,为每个键值对生成对应的赋值代码,再通过exec执行:

class Class1:
    pass

class Class2:
    pass

class Class3:
    pass

test_dict = {"test1": Class1(), "test2": Class2(), "test3": Class3()}

for var_name, obj_instance in test_dict.items():
    exec(f"{var_name} = obj_instance")

# 验证变量是否创建成功
print(test2)  # 输出类似 <__main__.Class2 object at 0x102345678>

要注意的点

  • 这两种方法都会直接修改命名空间,如果你的字典键和现有变量重名,会直接覆盖掉原有变量,使用前要确认键名的唯一性。
  • exec要谨慎用,如果字典的键来自用户输入这类不可信来源,可能会引入安全隐患,只在你能完全控制输入的场景下使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 08:17:35