python中的全局变量,出现referenced before assignment的解决方案
来源:互联网 发布:双肩运动包推荐 知乎 编辑:程序博客网 时间:2024/05/16 05:55
原文出处:http://crazier9527.iteye.com/blog/406682
不注意全局变量时的程序如:
运行后报错:
UnboundLocalError: local variable 'CONSTANT' referenced before assignment
看来,全局变量在函数modifyConstant中边成了局部变量,似乎全局变量没有生效?
做点修改:
CONSTANT = 0def modifyConstant() : print CONSTANT# CONSTANT += 1 returnif __name__ == '__main__' : modifyConstant() print CONSTANT
运行正常,看来函数内部是可以访问全局变量的。
所以,问题就在于,因为在函数内部修改了变量CONSTANT,Python认为CONSTANT是局部变量,而print CONSTANT又在CONSTANT += 1之前,所以当然会发生这种错误。
那么,应该如何在函数内部访问并修改全局变量呢?应该使用关键字global来修饰变量(有点像PHP):
- python中的全局变量,出现referenced before assignment的解决方案
- 【Python基础】之全局变量(UnboundLocalError: local variable referenced before assignment)
- python referenced before assignment问题
- python的UnboundLocalError: local variable 'xxx' referenced before assignment
- python的UnboundLocalError: local variable 'xxx' referenced before assignment
- Python的UnboundLocalError: local variable 'xxx' referenced before assignment
- Python的UnboundLocalError: local variable 'xxx' referenced before assignment
- Python全局变量global和局部变量 UnboundLocalError: local variable 'x' referenced before assignment
- Python - UnboundLocalError: local variable referenced before assignment
- python - Local variable referenced before assignment
- 全局变量报错:UnboundLocalError: local variable 'l' referenced before assignment
- 全局变量报错:UnboundLocalError: local variable 'l' referenced before assignment
- 全局变量报错:UnboundLocalError: local variable 'i' referenced before assignment
- 全局变量报错:UnboundLocalError: local variable 'l' referenced before assignment
- 全局变量报错:UnboundLocalError: local variable 'l' referenced before assignment
- 全局变量报错:UnboundLocalError: local variable 'l' referenced before assignment
- 全局变量报错:UnboundLocalError: local variable 'l' referenced before assignment
- 全局变量报错:UnboundLocalError: local variable 'l' referenced before assignment
- eclipse设置字体大小
- Lock obtain timed out: Lock@的解决方法(lucene)
- fedora下一些与网络配置相关的文件和命令
- 浅析Python中的Python全局变量
- 类的静态成员
- python中的全局变量,出现referenced before assignment的解决方案
- CListCtrl使用技巧
- git log
- Java内存分配及垃圾回收
- Repeater和ListView的高效率分页
- hadoop学习
- 互联网产品经理面试二三事
- java的集合类
- 2013.03.20清晨北京的雪