我相信我对Python全局变量及其范围有一些基本的误解,并且我希望有人能够教育我。 说我有两个Python文件。适当的Python全局变量使用
#"GlobalSet.py"
global myVar
myVar = True
print "myVar" in globals()
import GlobalCheck
和
#"GlobalCheck.py"
print "myVar" in globals()
运行 “GlobalSet.py” 令人惊讶地导致
True
False
为什么不是 “myVar的” 在 “GlobalCheck” 内全球范围内?
你也可以'从GlobalSet import myVar' – audiodude 2014-10-06 18:16:23
re:globals()跨模块:Python没有一个单一的全局作用域。相反,每个模块(包括'__main__')都有一个模块级范围,这就是函数中的''global''关键字引用的范围。 – chepner 2014-10-06 18:48:28