-1
得到了某種原因,我must
寫代碼像這樣一些麻煩的時候寫一些像這樣的代碼我如何使用局部變量在內高清功能
def wrapper(v):
v()
def abc():
b=1
c=2
def bc():
b=b+c
wrapper(bc)
return b
print(abc())
結果UnboundLocalError: local variable 'b' referenced before assignment
。 所以我改變我的代碼,這樣的方式來擺脫聖母院問題
def wrapper(v):
v()
def abc():
b=[1,2]
def bc():
b[0]=b[1]+b[0]
wrapper(bc)
return b[0]
print(abc())
這是令人難以置信得了3,當我運行此腳本。 我想知道關於這種現象的合理解釋。 爲什麼我第一次得不到3?
請在發佈前正確地縮進您的代碼。這真的很難再現其他問題 – Uriel
'abc'甚至不會調用'bc' – aaron
當您甚至不打擾修復代碼縮進時,爲什麼我們應該打擾您的問題? –