我相信我對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