我有一個(簡單)模塊,像這樣:參考外部範圍從Python類
import tkinter as tk
__outerVar = {<dict stuff>}
class Editor(tk.Frame):
...
def _insideFunction(self):
for p in __outerVar.keys():
<do stuff>
我就用__outerVar
得到一個NameError: name '_Editor__outerVar' is not defined
當我嘗試實例化編輯器。儘管我沒有寫信給__outerVar
,但我仍然試着在insideFunction
的頂部放置「global __outerVar
」,同樣的錯誤。
我敢肯定我只是誤解了一些Python範圍規則。幫幫我?
py 3.5
蟒蛇的名字在工作中搗毀。爲什麼不只是'outerVar'並將它作爲'outerVar'在你的類中訪問? –
我以爲_和__是唯一的約定,實際上表明瞭受保護的私有變量。我沒有意識到這個名字會變形。 – Marc