源代码
num = 1
def test():
num += 1
return num
print(test())
错误详情
可能原因
python中出现了没有声明的变量 , py是通过如下简单的规则找出变量的范围 :如果函数内部有对变量的赋值 ,则该变量被认为是本地的,此时可以正常修改。但是若变量不定义在函数内部,且没有进行变量范围的声明(去调用外部变量),程序在函数内部找不到相应变量,所以会出现未定义变量的错误提示消息。
解决方案
将变量声明为全局变量,在调用的时候使用global关键词,则可以正常访问,正确代码如下:
num = 1
def test():
global num
num = num + 1
return num
print(test()) # 输出结果:2