我已经开始自学python,并注意到与全局变量和范围有关的一些奇怪的事情。当我运行这个:
x = 2
y = 3
z=17
def add_nums():
y = 6
return z+y
打印 23 的结果...但是,当我将返回扩展为:
x = 2
y = 3
z=17
def add_nums():
y = 6
z = z + y
return z
我在第 6 行收到以下错误:
Local name referenced but not bound to a value.
A local name was used before it was created. You need to define the
method or variable before you try to use it.
我很困惑为什么我在这里遇到错误,因为 z 是全局可访问的。