我读过的所有 Python 文档似乎都表明,除了副作用之外,如果您导入模块 A 然后引用 Aa,那么您引用的变量就像您编写“从 A 导入 a”一样。
但是,这里的情况似乎并非如此,我不确定发生了什么。我正在使用 Python 2.6.1。
如果我创建一个模块 alpha.py:
bravo = None
def set_bravo():
global bravo
bravo = 1
然后创建一个导入模块的脚本:
import sys, os
sys.path.append(os.path.abspath('.'))
import alpha
from alpha import bravo
alpha.set_bravo()
print "Value of bravo is: %s" % bravo
print "Value of alpha.bravo is: %s" % alpha.bravo
然后我得到这个输出:
Value of bravo is: None
Value of alpha.bravo is: 1
这是为什么?