我正在尝试使用nonlocal
下面代码中的 python 中的关键字。 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() is enclosed in outer()
否,inner
未包含在 outer
中(未在 outer
范围内定义),您仅从 outer
调用 inner
;这里没有任何关闭。
关于python - python 中的非本地关键字错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45907660/