鉴于...
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 库中的
gloabls()
方法。例如
def set_value():
global global_var_name
global_var_name = "global_var_value"
set_value()
global zorp
zorp = globals()["global_var_name"] = "hello"
如果这有帮助,请告诉我。