tsk*_*zzy 21 python global-variables
假设我有一个全局变量a
.在函数定义中,我们还有一个名为的局部变量a
.有没有办法将全局变量的值赋给局部变量的值?
a = 'foo'
def my_func(a = 'bar'):
# how to set global a to value of the local a?
Run Code Online (Sandbox Code Playgroud)
var*_*tec 33
globals()
返回表示当前全局符号表的字典.这始终是当前模块的字典(在函数或方法内部,这是定义它的模块,而不是调用它的模块).
a = 'foo'
def my_func(a = 'bar'):
globals()['a'] = a
Run Code Online (Sandbox Code Playgroud)
顺便提一下,值得一提的是,全局只是模块范围内的"全局".