我可以在函数中创建一个全局变量:
def f():
global x
x=1
f()
print x
但是,如果我在 f() 中只有该变量的名称,我可以这样做吗?
def f(varname):
exec('global ' + varname)
exec(varname + '=1')
f('x')
print x
这不起作用 - “名称'x'未定义”。不要告诉我这是一种糟糕的编程风格——我知道。问题是这是否可以在 Python 中实现。
感谢您的回答,但为什么 exec 不起作用的问题仍然存在。是否以某种方式在不同的上下文中执行?它是不同模块的一部分,以便在不同模块中创建全局变量吗?