您的位置:首页 > 编程语言 > Python开发

Python:UnboundLocalError: local variable 'num' referenced before assignment

2018-02-05 14:17 489 查看

源代码

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


参考文章:

https://www.cnblogs.com/sola-tester/p/4323008.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐