为什么这个函数会抛出错误?

时间:2016-09-17 13:14:47

标签: python-3.x

以下功能正常:

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()

为什么会这样?

1 个答案:

答案 0 :(得分:0)

在第一个示例中,a引用全局变量a。在第二个中,python解释你的行a=0,因此,它认为你的意思是局部变量。要修复错误,您可以将a作为第二个参数,或者将global a写为函数的第一行