Python-变量名称中的变量?

时间:2018-12-08 14:17:52

标签: python exec

我不确定这是否已经在这里,对不起。

我正在尝试将变量的输出(在这种情况下为字符串)放入另一个变量“ name”(如果调用了该变量),但是使用exec并不理想,我不想将其全部进入exec函数。

有什么办法可以完成我在这段代码中试图做的事情吗?

world = world[(x,y)].type 
exec("if blocks." + world + ".hasUp == True:")
    tick(taX,taY)

1 个答案:

答案 0 :(得分:3)

使用__dict__

>>> def foo():
...     pass
... 
>>> a = "hello"
>>> foo.__dict__[a] = "world"
>>> foo.hello
'world'

globals()用于全局变量(返回全局变量的字典):

>>> name = "may"
>>> globals()[name] = "the force be with you"
>>> may
'the force be with you'

locals()用于局部变量:

>>> name = "life"
>>> locals()[name] = "was like a box of chocolates"
>>> life
'was like a box of chocolates'