在Python中从字符串创建变量

时间:2010-09-27 11:39:01

标签: python variables

Python中可能存在以下内容:

>>> vars = {'a': 5}
>>> makevars(vars)
>>> print a
5

因此,makevars将字典转换为变量。 (一般来说这叫什么?)

2 个答案:

答案 0 :(得分:9)

有时候这是可能的,但这通常是一个非常糟糕的主意。尽管名称不同,但变量本身不应该是变量。它们是代码的一部分,是逻辑的一部分。试图以这种方式'替换'局部变量会使代码效率低下(因为Python必须放弃一些优化),buggy(因为它可能会意外地替换你没想到的东西),很难调试(因为你看不到)发生了什么事情)并且简单不可读。拥有“动态值”是dicts和list以及其他容器的用途。

答案 1 :(得分:1)

我认为这有效:

locals().update(vars)