任何人都可以告诉我为什么以下代码错误?
我的猜测是,内部功能以某种方式检测到一个新的'变量声明,(我在内部()的左侧有' x')。
虽然它失败了,因为这个' x'首先出现在右侧。
这是对的吗?
我错误地认为它表现得正常(即增加x的值)。
在任何其他上下文中,可以从内部函数访问x。如果我把x放在左侧,唯一的问题就出现了。
def outer(x):
def inner():
x = x + 1
return x
return inner()
outer(1)
UnboundLocalError:局部变量' x'在分配前引用