UnboundLocalError: local vaiable 'XX' reference...

示例如下:

i = 9

print(id(i))

def test():

    print(id(i))

以上的代码运行是ok的,但是将test函数改为如下:

def test():

    print(id(i))

    i = 10

将会引发 UnboundLocalError: local vaiable 'i' referenced before assignment

在python的函数中和全局同名的变量,如果你修改变量的值就会变成局部变量,在修改之前对该变量的引用自然就会出现没定义这样的错误了,如果确定要引用全局变量,并且要对它修改,必须加上global关键字。但是反过来说,把全局变量改来改去个人觉得很不靠谱。

你可能感兴趣的:(UnboundLocalError: local vaiable 'XX' reference...)