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

unftdfkk  于 2024-01-05  发布在  Python
关注(0)|答案(2)|浏览(175)

此问题在此处已有答案

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

  1. myGlobalVariableName = "zorp"
  2. myGlobalVariableValue = "hello"

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

  1. exec( """
  2. global %s
  3. %s = %r
  4. """ % (
  5. myGlobalVariableName,
  6. myGlobalVariableName, myGlobalVariableValue,
  7. ),
  8. )


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

  1. <main_module_object>.__dict__[ myGlobalVariableName] = myGlobalVariableValue


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

6l7fqoea

6l7fqoea1#

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

  1. def set_value():
  2. global global_var_name
  3. global_var_name = "global_var_value"
  4. set_value()
  5. global zorp
  6. zorp = globals()["global_var_name"] = "hello"

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

chhkpiq4

chhkpiq42#

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

  1. myGlobalVariableName = "zorp"
  2. myGlobalVariableValue = "hello"
  3. globals()[myGlobalVariableName] = myGlobalVariableValue
  4. print(zorp)
  5. Output:
  6. hello

字符串

相关问题