我遇到了一些关于 Python 如何处理全局(模块)变量和global
关键字的奇怪行为。
模块一:
g = None
def set_g_up():
global g
g = "foo"
set_g_up()
print g
模块 2:
from module_1 import *
set_g_up()
print g
正如预期的那样,模块 1 打印"foo"
.
模块 2 打印None
!
什么?是同一个对象!或者,至少,我希望它是。
我遇到了一些关于 Python 如何处理全局(模块)变量和global
关键字的奇怪行为。
模块一:
g = None
def set_g_up():
global g
g = "foo"
set_g_up()
print g
模块 2:
from module_1 import *
set_g_up()
print g
正如预期的那样,模块 1 打印"foo"
.
模块 2 打印None
!
什么?是同一个对象!或者,至少,我希望它是。