我一直在學習Python大約一週左右,當我的代碼變得非常大並且有點混亂之後,我決定把它分解成單獨的類文件等等,但是我遇到了一些問題。在外部類中訪問一個全局變量
我試過谷歌搜索和搜索這裏所以但我找不到我的具體問題,所以原諒我,如果它已被問過。
考慮2個文件。 test.py和testClass.py我在test.py中有一個全局變量,它也將在test.py中設置,但我想在testClass.py的函數中訪問該變量。這裏有一些代碼可以幫助解釋。
test.py應該是這樣的:
import testClass
dict = {}
z = 5
dict['test'] = testClass.testClass(1, 3)
print dict['test'].sum()
testClass.py應該是這樣的:
class testClass:
def __init__(self, x, y):
self.foo = x
self.bar = y
def sum(self):
global z
return self.foo + self.bar + z
目前的解釋器吐出:
NameError: global name 'z' is not defined
經過重新 - 讀取類和變量範圍的Python引用我認爲我已經釘了它,但顯然不是。
這一切的結果僅僅是能夠通過對象實例字典並運行一系列包含在外部類中的各種檢查函數等。
我在想,我可能只需將它傳遞給實例,但更加好奇,知道它是否可能按照我原先的想法。 – Urbley