Python全局变量的隐藏“窍门”
Python全局变量是不符合参数传递的相关规律,所以很多人不愿意经常使用,除非在定义常量的情况下。一下要讨论的是关于全局变量的相关问题,发现其中隐藏的窍门。希望大家通过这篇文章有所收获。
程序大致是这样的:
- CONSTANT = 0
- def modifyConstant() :
- print CONSTANT
- CONSTANT += 1
- return
- if __name__ == '__main__' :
- modifyConstant()
- print CONSTANT
运行结果如下:
UnboundLocalError: local variable 'CONSTANT' referenced before assignment看来,Python全局变量在函数modifyConstant中边成了局部变量,似乎全局变量没有生效?
做点修改:
- CONSTANT = 0
- def modifyConstant() :
- print CONSTANT
- #CONSTANT += 1
- return
- if __name__ == '__main__' :
- modifyConstant()
- print CONSTANT
运行正常,看来函数内部是可以访问全局变量的。
所以,问题就在于,因为在函数内部修改了变量CONSTANT,Python认为CONSTANT是局部变量,而print CONSTANT又在CONSTANT += 1之前,所以当然会发生这种错误。那么,应该如何在函数内部访问并修改Python全局变量呢?应该使用关键字global来修饰变量(有点像PHP):
- CONSTANT = 0
- def modifyConstant() :
- global CONSTANT
- print CONSTANT
- CONSTANT += 1
- return
- if __name__ == '__main__' :
- modifyConstant()
- print CONSTANT
如果你对其也有相关不解的亦或时,不妨浏览一下上述解答方案,是你对其有更好的了解,在实际应用中能够畅通应用。
Python全局变量的隐藏“窍门”相关推荐
- python全局变量赋值报错_python全局变量、回调函数
1.python全局变量相关概念及使用 来自菜鸟教程上的例子: http://www.runoob.com/python3/python3-function.html 一.python入参需要注意地方 ...
- python提高办公效率-【纯干货】提高Python运行效率的小窍门
Python是一门优秀的语言,它能让你在短时间内通过极少量代码就能完成许多操作.不仅如此,它还轻松支持多任务处理,比如多进程. 不喜欢Python的人经常会吐嘈Python运行太慢.但是,事实并非如此 ...
- python变量作用域图解_图解python全局变量与局部变量相关知识
这篇文章主要介绍了图解python全局变量与局部变量相关知识,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 了解全局变量和局部变量之前,我们先来了解 ...
- [转载] python全局变量的使用
参考链接: Python全局变量 问题提出,怎么记录汉诺塔问题中盘子移动的次数? def hanu(n,a,b,c): if n==1 : print( ...
- python全局变量(模块法和global)
python全局变量(模块法和global) python中全局变量使用,一般有两种方法,使用global和使用模块 global 在python中,可以使用global声明一个变量为全局变量 1. ...
- Python 全局变量、局部变量、静态变量 详解
参考连接: 1. http://blog.csdn.net/eastmount/article/details/48766861 2. http://www.imooc.com/article/146 ...
- Python全局变量及Global关键字( Global variable in Python)
目录 1. Python全局变量 2. 简单的示例 3. 全局变量的有效作用范围 4. 在函数内部修改变量 5. global关键字 6. 跨模块的情况 1. Python全局变量 Python全局变 ...
- python全局变量的声明和使用
python全局变量的定义与使用 python全局变量的定义与使用 2019-03-06 梦寒与锁梦 阅 22418 转 2 使用全局变量分两步走: 1.定义 2.使用时再次声明 即全局变量在 ...
- python全局变量在整个程序内都有效_Python 全局变量使用
在平时的开发中我们有时候会用到全局变量,但是很多开发语言不允许使用或者建议少使用全局变量,Python也是如此.但是有时候为了编写程序的方便和灵活,必须使用全局变量.这篇文章记录是我在使用Python ...
最新文章
- 数据科学家必须要掌握的5种聚类算法
- Linux C下实现线程池
- 预测2019浙大计算机考研分数,浙江大学2019年考研分数线公布
- mysql5.7.17二进制包_mysql5.7二进制包安装方法
- java.lang.Classlt;Tgt;
- 易语言大漠插件模块制作窗口获取窗口句柄类
- 多闭环PID控制算法
- 搜狗站长html标签验证,各大搜索引擎站长验证以及百度统计代码配置
- 固定效应or随机效应?如何用matlab进行豪斯曼检验
- 如何通过几何画板学这些定理
- [buuctf.reverse] 131-135
- 2009中文菜谱网站排行之十大兵器
- 在Android的 设置-显示 中增加控制屏幕旋转方向的选项
- 需求提炼:产品需求、技术需求
- JAVA程序包装成桌面应用程序
- 什么是操作系统(OS)?都有哪些常见的分类?
- 破解大众点评token
- 川普哭诉“推特狂掉粉”,将用行政命令监管硅谷?
- 开源 cocos2d-html5版 五彩连珠.
- 开源仿google plus的wordpress主题