Python UnboundLocalError: 报错的解决方法

Posted 卿本佳人_奈何

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python UnboundLocalError: 报错的解决方法相关的知识,希望对你有一定的参考价值。

python UnboundLocalError: local variable \'****\' referenced before assignment  报错的解决方法:

运行如下python代码会报错:

UnboundLocalError: local variable \'val\' referenced before assignment

翻译:本地变量val引用前没有定义

\'Python

一 、报错原因

这是Python变量作用域的问题导致的:

1、内部函数,不修改全局变量时可以访问全局变量
2、内部函数,当修改同名全局变量时,则python会认为它是一个局部变量
3、在内部函数修改同名全局变量之前,如果调用变量名(如print(val)),则引发Unbound-LocalError

\'Python

二、解决办法:

1、如果只是想在函数内使用同名变量,而不改变函数外全局变量的值,则直接在函数内引用该变量前,初始化即可。如下:

\'Python

2、如果想在函数里修改同名全局变量的值之前使用该变量,就需要在函数内使用前用global关键字将被认为是局部的变量定义为全局变量。如下:

\'Python

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

以上是关于Python UnboundLocalError: 报错的解决方法的主要内容,如果未能解决你的问题,请参考以下文章

Python UnboundLocalError: 报错的解决方法

AttributeError,UnboundLocalError,飞桨Python入门,使用python的tkinter库

Python:BeautifulSoup UnboundLocalError

Python UnboundLocalError和NameError错误根源解析

Python报错:UnboundLocalError: local variable ‘xxx‘ referenced before assignment

Python报错:UnboundLocalError: local variable ‘xxx‘ referenced before assignment