这个函数为什么会抛出一个错误?
问题描述:
以下功能正常工作:这个函数为什么会抛出一个错误?
def ex():
for x in a:
print(x)
a=[200]
ex()
但下方抛出一个 “UnboundLocalError:局部变量 'A' 引用转让前” 错误
def ex():
for x in a:
print(x)
a=0
a=[200]
ex()
这究竟是为什么?
答
在您的第一个示例中,a
指的是全局变量a
。第二,python解释你的行a=0
,正因为如此,它认为你的意思是局部变量。要修复此错误,您可以将a
作为第二个参数,或者将global a
作为函数的第一行
[Python变量作用域错误]的可能重复(http://stackoverflow.com/questions/370357/python-可变范围误差) –