0
所以這個函數很長,所以我會總結一下。爲什麼我會得到未綁定的本地錯誤?
def func1(X = None, Y = None) :
if X :
dostuff
if condition :
Z += 1
if Y :
print Y
func1.Z = 0
def func2(A)
for loop that does stuff and calls func1
當我運行它,它告訴我,行Z + = 1出現錯誤:
「UnboundLocalError賦值之前引用局部變量‘Z’」我讀過所有未綁定本地錯誤並在我可以找到的任務提問之前接受了提問,但沒有一個問題看起來很相似,都沒有解決方案。
我應該讓Z成爲一個全球性的嗎?
啊!我不知道。出於好奇,self.Z會有效嗎?我會在10分鐘內將其選爲答案。 – CamelopardalisRex
@AlexBaldwin:沒有。 「自我」不是功能; 「自我」在這裏什麼都沒有。 – user2357112
http://pythontutor.com/visualize.html#看看這裏瞭解更多關於python名稱和值的信息。 http://nedbatchelder.com/text/names.html是一個很好的描述。 –