UnboundLocalError: local variable 'xxx' referenced before assignment
在函数外部已经定义了变量n,在函数内部对该变量进行运算,运行时会遇到了这样的错误:主要是因为没有让解释器清楚变量是全局变量还是局部变量。有时候在其他模块声明该变量,在本模块使用时也会出现。
那么问题就来了,出现这个问题我们就要考虑程序是按照全局变量,就是经过函数运算到函数外面还生效,还是按照局部变量在函数外生效。
第一种,当全局变量来看,就是使用global关键字,在函数内部先声明a这个变量是全局变量。
def func():
'''声明'''
global a;
'''主体'''
...
...
第二种是当局部变量。就是这个变量只在函数内使用,那么只要在函数内把这个变量定义一下就行了(即对变量进行初始化)。
def func():
'''初始化'''
a = 0;
'''主体'''
...
...