This question already has answers here:
Python nonlocal statement
(9个答案)
2年前关闭。
我正在尝试在以下代码中的python中使用
但是我得到了错误,因为
(9个答案)
2年前关闭。
我正在尝试在以下代码中的python中使用
nonlocal
关键字。 inner()
包含在outer()
中,我想创建一个计数器变量,该变量将记住从inner()
调用outer()
的次数。 ctr
在outer()
中定义,在nonlocal
中定义为inner()
。但是我得到了错误,因为
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()
最佳答案
inner()包含在external()中
不,inner
没有包含在outer
中(未在outer
范围内定义),您只是从inner
调用outer
;这里没有任何关闭。
关于python - python中的非本地关键字错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45907660/
10-12 21:24