python中的全局变量用法分析


Posted in Python onJune 09, 2015

本文实例分析了python中的全局变量用法。分享给大家供大家参考。具体分析如下:

Python是一种面向对象的开发语言,在函数中使用全局变量,一般应作全局变量说明,只有在函数内经过说明的全局变量才能使用,这里就来介绍下Python全局变量有关问题。

首先应该说明的是需要尽量避免使用Python全局变量。不同的模块都可以自由的访问全局变量,可能会导致全局变量的不可预知性。对全局变量,如果程序员甲修改了_a的值,这时可能导致程序中的错误。这种错误是很难发现和更正的。

全局变量降低了函数或模块之间的通用性,不同的函数或模块都要依赖于全局变量。同样,全局变量降低了代码的可读性,阅读者可能并不知道调用的某个变量是全局变量。 但是某些时候,Python全局变量能够解决局部变量所难以解决的问题。事物要一分为二。 python里面全局变量有两种灵活的用法:

gl.py:

gl_1 = 'hello'
gl_2 = 'world'

在其它模块中使用

a.py:

import gl 
def hello_world() 
  print gl.gl_1, gl.gl_2

b.py:

import gl 
def fun1() 
  gl.gl_1 = 'Hello'
  gl.gl_2 = 'World'
def modifyConstant() : 
    global CONSTANT 
    print CONSTANT 
    CONSTANT += 1 
    return 
if __name__ == '__main__' : 
    modifyConstant() 
    print CONSTANT

1 声明法

在文件开头声明Python全局变量variable, 在具体函数中使用该变量时,需要事先声明 global variable,否则系统将该变量视为局部变量。 CONSTANT = 0  (将全局变量大写便于识别)

2模块法(推荐)

推荐!

gl.py:

gl_1 = 'hello'
gl_2 = 'world'

在其它模块中使用

a.py:

import gl 
def hello_world() 
  print gl.gl_1, gl.gl_2

b.py:

import gl 
def fun1() 
  gl.gl_1 = 'Hello'
  gl.gl_2 = 'World'
def modifyConstant() : 
    global CONSTANT 
    print CONSTANT 
    CONSTANT += 1 
    return 
if __name__ == '__main__' : 
    modifyConstant() 
    print CONSTANT

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
python绘图库Matplotlib的安装
Jul 03 Python
python实现按行切分文本文件的方法
Apr 18 Python
浅谈python类属性的访问、设置和删除方法
Jul 25 Python
Python django实现简单的邮件系统发送邮件功能
Jul 14 Python
python距离测量的方法
Mar 06 Python
使用Python对微信好友进行数据分析
Jun 27 Python
python简单验证码识别的实现方法
May 10 Python
如何更改 pandas dataframe 中两列的位置
Dec 27 Python
python不使用for计算两组、多个矩形两两间的iou方式
Jan 18 Python
如何通过Python3和ssl实现加密通信功能
May 09 Python
python元组拆包实现方法
Feb 28 Python
python树莓派通过队列实现进程交互的程序分析
Jul 04 Python
python简单实现计算过期时间的方法
Jun 09 #Python
Python扫描IP段查看指定端口是否开放的方法
Jun 09 #Python
Python实现数据库编程方法详解
Jun 09 #Python
Python读写文件方法总结
Jun 09 #Python
六个窍门助你提高Python运行效率
Jun 09 #Python
python数组复制拷贝的实现方法
Jun 09 #Python
Python函数返回值实例分析
Jun 08 #Python
You might like
BBS(php & mysql)完整版(三)
2006/10/09 PHP
php+mysql实现无限分类实例详解
2015/01/15 PHP
php实现通用的从数据库表读取数据到数组的函数实例
2015/03/21 PHP
PC端微信扫码支付成功之后自动跳转php版代码
2017/07/07 PHP
PHP基于phpqrcode类生成二维码的方法详解
2018/03/14 PHP
php实现数字补零的方法总结
2018/09/12 PHP
THINKPHP5.1 Config的配置与获取详解
2020/06/08 PHP
动态样式类封装JS代码
2009/09/02 Javascript
innerHTML 和 getElementsByName 在IE下面的bug 的解决
2010/04/09 Javascript
JS Map 和 List 的简单实现代码
2013/07/08 Javascript
js函数setTimeout延迟执行的简单介绍
2013/07/17 Javascript
jquery mobile事件多次绑定示例代码
2013/09/13 Javascript
jquery实现点击弹出带标题栏的弹出层(从右上角飞入)效果
2015/09/19 Javascript
JS实现适合于后台使用的动画折叠菜单效果
2015/09/21 Javascript
js实现C#的StringBuilder效果完整实例
2015/12/22 Javascript
详解Vue.js——60分钟组件快速入门(上篇)
2016/12/05 Javascript
从零学习node.js之利用express搭建简易论坛(七)
2017/02/25 Javascript
JS实现登录页密码的显示和隐藏功能
2017/12/06 Javascript
取消Bootstrap的dropdown-menu点击默认关闭事件方法
2018/08/10 Javascript
vue移动端项目缓存问题实践记录
2018/10/29 Javascript
小程序点击图片实现自动播放视频
2020/05/29 Javascript
JavaScript的console命令使用实例
2019/12/03 Javascript
实例说明Python中比较运算符的使用
2015/05/13 Python
分享给Python新手们的几道简单练习题
2017/09/21 Python
python中退出多层循环的方法
2018/11/27 Python
为何人工智能(AI)首选Python?读完这篇文章你就知道了(推荐)
2019/04/06 Python
弄懂这56个Python使用技巧(轻松掌握Python高效开发)
2019/09/18 Python
将python字符串转化成长表达式的函数eval实例
2020/05/11 Python
static全局变量与普通的全局变量有什么区别
2014/05/27 面试题
应届生高等护理求职信
2013/10/12 职场文书
自荐信包含哪些内容
2013/10/30 职场文书
保安自我鉴定范文
2013/12/08 职场文书
爱晚亭导游词
2015/02/09 职场文书
24句精辟的现实社会语录,句句扎心,道尽人性
2019/08/29 职场文书
OpenCV-Python实现油画效果的实例
2021/06/08 Python
MySQL分区路径子分区再分区
2022/04/13 MySQL