我不确定这是否已经在这里,对不起。
我正在尝试将变量的输出(在这种情况下为字符串)放入另一个变量“ name”(如果调用了该变量),但是使用exec
并不理想,我不想将其全部进入exec函数。
有什么办法可以完成我在这段代码中试图做的事情吗?
world = world[(x,y)].type
exec("if blocks." + world + ".hasUp == True:")
tick(taX,taY)
答案 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'