从字典创建变量?
在Python中,像下面这样的事情可能吗?
>>> vars = {'a': 5}
>>> makevars(vars)
>>> print a
5
所以,makevars
是把字典里的内容变成变量。(这一般叫什么呢?)
2 个回答
1
我觉得这个可以用:
locals().update(vars)
10
有时候这样做是可能的,但通常来说这是个很糟糕的主意。尽管叫做变量,但变量本身不应该是可变的。它们是你代码的一部分,是代码逻辑的一部分。试图用这种方式“替换”局部变量会让代码变得低效(因为Python需要放弃一些优化),容易出错(可能会意外替换掉你没想到的东西),调试起来非常困难(因为你看不到发生了什么),而且代码也会变得难以阅读。想要有“动态值”,可以使用字典、列表和其他容器来实现。