Python中可能存在以下内容:
>>> vars = {'a': 5}
>>> makevars(vars)
>>> print a
5
因此,makevars将字典转换为变量。 (一般来说这叫什么?)
答案 0 :(得分:9)
有时候这是可能的,但这通常是一个非常糟糕的主意。尽管名称不同,但变量本身不应该是变量。它们是代码的一部分,是逻辑的一部分。试图以这种方式'替换'局部变量会使代码效率低下(因为Python必须放弃一些优化),buggy(因为它可能会意外地替换你没想到的东西),很难调试(因为你看不到)发生了什么事情)并且简单不可读。拥有“动态值”是dicts和list以及其他容器的用途。
答案 1 :(得分:1)
我认为这有效:
locals().update(vars)