有人可以解释一下为什么这个功能不起作用吗?“非本地”语句不应该可以x
理解 in g
,因此 in h
?
def f():
def g():
nonlocal x
x= 1
def h():
print(x)
>>> SyntaxError: no binding for nonlocal 'x' found
编辑:我使用 nonlocal 是为了不在除以下x
之外的任何地方定义g()
:我必须在我的代码中定义几个变量,并希望在函数中进行init_var()
。为了方便起见,我想避免在我的主要功能中声明它们。有没有办法为此目的调整以前的代码?