Python中出现UnboundLocalError: local variable ‘xxx‘ referenced before assignment情况的解决方法

 

UnboundLocalError: local variable 'xxx' referenced before assignment

在函数外部已经定义了变量n,在函数内部对该变量进行运算,运行时会遇到了这样的错误:主要是因为没有让解释器清楚变量是全局变量还是局部变量。有时候在其他模块声明该变量,在本模块使用时也会出现。

那么问题就来了,出现这个问题我们就要考虑程序是按照全局变量,就是经过函数运算到函数外面还生效,还是按照局部变量在函数外生效。

第一种,当全局变量来看,就是使用global关键字,在函数内部先声明a这个变量是全局变量。

def    func():
'''声明'''
    global a;
'''主体'''
    ...
    ...

 

第二种是当局部变量。就是这个变量只在函数内使用,那么只要在函数内把这个变量定义一下就行了(即对变量进行初始化)。

def    func():
'''初始化'''
    a = 0;
'''主体'''
    ...
    ...

 

你可能感兴趣的:(Python)