1
我想在下面的代碼中使用python中的nonlocal
關鍵字。 inner()
包含在outer()
中,我想要創建一個計數器變量,它將記住從outer()
調用inner()
的次數。 ctr
在outer()
中定義爲nonlocal
在inner()
中定義。python中的非本地關鍵字錯誤
但我得到的錯誤爲no binding for nonlocal 'ctr' found
。
def inner1():
nonlocal ctr
ctr=ctr+1
print(' ctr= {0}'.format(ctr))
def outer1():
ctr=0
for i in range(5):
inner1()
outer1()
在'outer'內調用的'inner()'不等同於'outer'內定義的'inner'。外地人與後者合作。 –
*在非本地語句中列出的名稱,與全局語句中列出的語句不同,必須引用封閉範圍中的預先存在的綁定* ...在封閉範圍中定義的變量在哪裏? –