Python-变量名中的变量?
我不确定这是否已经在这里,如果是的话,我很抱歉 我试图将一个变量的输出,在本例中是一个字符串,放入另一个变量“name”中,如果它被调用的话,但是使用Python-变量名中的变量?,python,exec,Python,Exec,我不确定这是否已经在这里,如果是的话,我很抱歉 我试图将一个变量的输出,在本例中是一个字符串,放入另一个变量“name”中,如果它被调用的话,但是使用exec并不理想,我不想将它全部放入exec函数中 在这段代码中,有没有任何方法可以完成我正在尝试做的事情 world = world[(x,y)].type exec("if blocks." + world + ".hasUp == True:") tick(taX,taY) 使用\uuuu dict\uuuu: >>&
exec
并不理想,我不想将它全部放入exec函数中
在这段代码中,有没有任何方法可以完成我正在尝试做的事情
world = world[(x,y)].type
exec("if blocks." + world + ".hasUp == True:")
tick(taX,taY)
使用
\uuuu dict\uuuu
:
>>> def foo():
... pass
...
>>> a = "hello"
>>> foo.__dict__[a] = "world"
>>> foo.hello
'world'
globals()
用于全局变量(返回全局变量字典):
locals()
对于局部变量:
>>> name = "life"
>>> locals()[name] = "was like a box of chocolates"
>>> life
'was like a box of chocolates'
非常不清楚,但如果我理解您的意图,请不要使用
exec
but。(经验法则:切勿使用exec
或eval
)变量没有输出。请您重新表述您的问题,并通过将一个变量的输出置于另一个变量的“名称”中来明确变量是什么以及您的意思?请您详细解释一下这一点好吗?这是一个–您正在尝试解决某个未知问题,现在您问我们是否可以解决该问题。请添加更多的代码。除了usr2564301所说的,它看起来您试图动态创建变量/属性,这暗示了糟糕的设计
>>> name = "life"
>>> locals()[name] = "was like a box of chocolates"
>>> life
'was like a box of chocolates'