如何创建一个名称为另一个变量值的Python全局变量

问题描述 投票:0回答:1

鉴于...

myGlobalVariableName = "zorp"
myGlobalVariableValue = "hello"

, ...如何使用

myGlobalVariableName
myGlobalVariableValue
的值来创建全局变量
"zorp"
并将其设置为
"hello"

以下方法有点有效,但确实很糟糕:

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

我想也许我的问题是我不知道如何解决

__main__
模块对象的
__dict__
属性的值。如果我知道该怎么做,也许我可以简单地说:

<main_module_object>.__dict__[ myGlobalVariableName] = myGlobalVariableValue

无论如何,我想这就是我正在寻找的答案。

python variables dynamic global naming
1个回答
0
投票

我了解到您正在尝试使用先前定义的变量创建一个新的全局变量。您可以使用主 python 库中的

gloabls()
方法。例如


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

set_value()

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

如果这有帮助,请告诉我。

© www.soinside.com 2019 - 2024. All rights reserved.