我是一個自學成才的程序員,沒有正規的訓練,所以請原諒我提前如果這是一個愚蠢的問題。蟒蛇 - 執行del語句早
雖然以Python進行編程,我發現一個很奇怪:
from someModule import someClass
def someFunction():
someInstance = someClass()
print "foo"
del someClass
someFunction()
這立即將未綁定的局部變量錯誤死亡:
UnboundLocalError: local variable 'someClass' referenced before assignment
註釋掉delete語句解決了這個問題:
...
#del someClass
...
,並返回:
foo
所以,2個問題:
1)del語句是在函數結束。爲什麼它在開始之前被調用?
2)爲什麼給我一個「綁定本地變量」的錯誤?它不應該是一個「未綁定的全局變量」錯誤?
你應該不會被刪除someInstance而不是SomeClass的在這種情況下,因爲類是類定義和實例是你的這個類 – darren102 2012-02-28 22:40:03
是的情況下,我的問題是理論多於實際......這是爲什麼語句中之前自帶的代碼之前評估? – learningKnight 2012-02-28 22:44:06
這並不能解釋爲什麼'print'foo「'沒有執行。 – WolframH 2012-02-28 22:44:43