如何创建一个Python全局变量,其名称是另一个变量的值[重复]

unftdfkk  于 11个月前  发布在  Python
关注(0)|答案(2)|浏览(130)

此问题在此处已有答案

How do I create variable variables?(18个答案)
昨天就关门了。
给予...

myGlobalVariableName = "zorp"
myGlobalVariableValue = "hello"

字符串
,...如何使用myGlobalVariableNamemyGlobalVariableValue的值创建全局变量"zorp"并将其设置为"hello"
下面的方法可以说是可行的,但它真的很可怕:

exec( """
global %s
%s = %r   
""" % (
        myGlobalVariableName,
        myGlobalVariableName, myGlobalVariableValue,
    ),
)


我想我的问题可能是我不知道如何处理__main__模块对象的__dict__属性的值。如果我知道如何处理,也许我可以简单地说:

<main_module_object>.__dict__[ myGlobalVariableName] = myGlobalVariableValue


不管怎样,我想这就是我想要的答案。

6l7fqoea

6l7fqoea1#

我了解到,您正在尝试使用先前定义的全局变量创建新的全局变量。

def set_value():
    global global_var_name
    global_var_name = "global_var_value"

set_value()

global zorp
zorp = globals()["global_var_name"] = "hello"

字符串
请让我知道这是否有帮助。

chhkpiq4

chhkpiq42#

globals()允许你修改全局命名空间。

myGlobalVariableName = "zorp"
myGlobalVariableValue = "hello"

globals()[myGlobalVariableName] = myGlobalVariableValue

print(zorp)

Output:
hello

字符串

相关问题