今天写个程序,运行报错:UnboundLocalError: local variable ‘xxx’ referenced before assignment(xxx为程序变量名),引发此错误的原因就是全局变量与局部变量引起的,详情请看下文:
一、报错演示
-
代码
num = 1 def test(): num += 1 return num print(test())
-
报错截图
num为变量名,会根据你程序变量发生变化,灵活使用
二、问题解决
-
首先翻译一下报错
报错说赋值前引用的变量’xxx’,但是我们已经声明了,这就是局部变量与全局变量的区别 -
解决
使用global xxx
声明一下变量即可num = 1 def test(): global num num += 1 return num print(test())
欢迎大家吐槽