Python全局变量是不符合参数传递的相关规律,所以很多人不愿意经常使用,除非在定义常量的情况下。一下要讨论的是关于全局变量的相关问题,发现其中隐藏的窍门。希望大家通过这篇文章有所收获。

程序大致是这样的:

  1. CONSTANT = 0
  2. def modifyConstant() :
  3. print CONSTANT
  4. CONSTANT += 1
  5. return
  6. if __name__ == '__main__' :
  7. modifyConstant()
  8. print CONSTANT

运行结果如下:
UnboundLocalError: local variable 'CONSTANT' referenced before assignment看来,Python全局变量在函数modifyConstant中边成了局部变量,似乎全局变量没有生效?
做点修改:

  1. CONSTANT = 0
  2. def modifyConstant() :
  3. print CONSTANT
  4. #CONSTANT += 1
  5. return
  6. if __name__ == '__main__' :
  7. modifyConstant()
  8. print CONSTANT

运行正常,看来函数内部是可以访问全局变量的。
所以,问题就在于,因为在函数内部修改了变量CONSTANT,Python认为CONSTANT是局部变量,而print CONSTANT又在CONSTANT += 1之前,所以当然会发生这种错误。那么,应该如何在函数内部访问并修改Python全局变量呢?应该使用关键字global来修饰变量(有点像PHP):

  1. CONSTANT = 0
  2. def modifyConstant() :
  3. global CONSTANT
  4. print CONSTANT
  5. CONSTANT += 1
  6. return
  7. if __name__ == '__main__' :
  8. modifyConstant()
  9. print CONSTANT

如果你对其也有相关不解的亦或时,不妨浏览一下上述解答方案,是你对其有更好的了解,在实际应用中能够畅通应用。

Python全局变量的隐藏“窍门”相关推荐

  1. python全局变量赋值报错_python全局变量、回调函数

    1.python全局变量相关概念及使用 来自菜鸟教程上的例子: http://www.runoob.com/python3/python3-function.html 一.python入参需要注意地方 ...

  2. python提高办公效率-【纯干货】提高Python运行效率的小窍门

    Python是一门优秀的语言,它能让你在短时间内通过极少量代码就能完成许多操作.不仅如此,它还轻松支持多任务处理,比如多进程. 不喜欢Python的人经常会吐嘈Python运行太慢.但是,事实并非如此 ...

  3. python变量作用域图解_图解python全局变量与局部变量相关知识

    这篇文章主要介绍了图解python全局变量与局部变量相关知识,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 了解全局变量和局部变量之前,我们先来了解 ...

  4. [转载] python全局变量的使用

    参考链接: Python全局变量 问题提出,怎么记录汉诺塔问题中盘子移动的次数? def hanu(n,a,b,c):          if n==1 :                print( ...

  5. python全局变量(模块法和global)

    python全局变量(模块法和global) python中全局变量使用,一般有两种方法,使用global和使用模块 global 在python中,可以使用global声明一个变量为全局变量 1. ...

  6. Python 全局变量、局部变量、静态变量 详解

    参考连接: 1. http://blog.csdn.net/eastmount/article/details/48766861 2. http://www.imooc.com/article/146 ...

  7. Python全局变量及Global关键字( Global variable in Python)

    目录 1. Python全局变量 2. 简单的示例 3. 全局变量的有效作用范围 4. 在函数内部修改变量 5. global关键字 6. 跨模块的情况 1. Python全局变量 Python全局变 ...

  8. python全局变量的声明和使用

    python全局变量的定义与使用 python全局变量的定义与使用 2019-03-06  梦寒与锁梦   阅 22418  转 2 使用全局变量分两步走: 1.定义 2.使用时再次声明 即全局变量在 ...

  9. python全局变量在整个程序内都有效_Python 全局变量使用

    在平时的开发中我们有时候会用到全局变量,但是很多开发语言不允许使用或者建议少使用全局变量,Python也是如此.但是有时候为了编写程序的方便和灵活,必须使用全局变量.这篇文章记录是我在使用Python ...

最新文章

  1. 数据科学家必须要掌握的5种聚类算法
  2. Linux C下实现线程池
  3. 预测2019浙大计算机考研分数,浙江大学2019年考研分数线公布
  4. mysql5.7.17二进制包_mysql5.7二进制包安装方法
  5. java.lang.Classlt;Tgt;
  6. 易语言大漠插件模块制作窗口获取窗口句柄类
  7. 多闭环PID控制算法
  8. 搜狗站长html标签验证,各大搜索引擎站长验证以及百度统计代码配置
  9. 固定效应or随机效应?如何用matlab进行豪斯曼检验
  10. 如何通过几何画板学这些定理
  11. [buuctf.reverse] 131-135
  12. 2009中文菜谱网站排行之十大兵器
  13. 在Android的 设置-显示 中增加控制屏幕旋转方向的选项
  14. 需求提炼:产品需求、技术需求
  15. JAVA程序包装成桌面应用程序
  16. 什么是操作系统(OS)?都有哪些常见的分类?
  17. 破解大众点评token
  18. 川普哭诉“推特狂掉粉”,将用行政命令监管硅谷?
  19. 开源 cocos2d-html5版 五彩连珠.
  20. 开源仿google plus的wordpress主题

热门文章

  1. Gitlab本地备份与远程机备份
  2. 南卡耳机和漫步者耳机哪个好?看完这篇文章就能知道哪个好
  3. 解读数据架构的 2020:开放、融合、简化
  4. 对偶理论,敏感性分析(方述诚 笔记4
  5. 使用DLL封装应用程序的资源
  6. 前端必会的 HTML+CSS 常用技巧 之 虚线的实现方式
  7. 分布式存储FastDFS(自用)
  8. 永倍达商城:以新技术、新业态、新模式电商服务社会
  9. mp4视频分片生成m3u8流文件并加密
  10. layui-table表格根据条件更换表格背景颜色,高亮显示