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中bisect的用法
Sep 23 Python
用Python进行行为驱动开发的入门教程
Apr 23 Python
Python for Informatics 第11章 正则表达式(一)
Apr 21 Python
利用Python批量生成任意尺寸的图片
Aug 29 Python
Python如何抓取天猫商品详细信息及交易记录
Feb 23 Python
python 实现数组list 添加、修改、删除的方法
Apr 04 Python
python实现寻找最长回文子序列的方法
Jun 02 Python
python里 super类的工作原理详解
Jun 19 Python
python实现登录密码重置简易操作代码
Aug 14 Python
用Pelican搭建一个极简静态博客系统过程解析
Aug 22 Python
Python目录和文件处理总结详解
Sep 02 Python
基于Python的接口自动化unittest测试框架和ddt数据驱动详解
Jan 27 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
构建简单的Webmail系统
2006/10/09 PHP
PHP实现获取中英文首字母
2015/06/19 PHP
PHP自定义函数判断是否为Get、Post及Ajax提交的方法
2017/07/27 PHP
javascript 鼠标拖动图标技术
2010/02/07 Javascript
解决jquery1.9不支持browser对象的问题
2013/11/13 Javascript
使用js写的一个简易的投票
2013/11/27 Javascript
JS截取url中问号后面参数的值信息
2014/04/29 Javascript
JavaScript的代码编写格式规范指南
2015/12/07 Javascript
JavaScript学习笔记之数组求和方法
2016/03/23 Javascript
原生js实现网页顶部自动下拉/收缩广告效果
2017/01/20 Javascript
Vue2.x中的父组件传递数据至子组件的方法
2017/05/01 Javascript
React Js 微信禁止复制链接分享禁止隐藏右上角菜单功能
2017/05/26 Javascript
利用ECharts.js画K线图的方法示例
2018/01/10 Javascript
浅谈jquery fullpage 插件增加头部和版权的方法
2018/03/20 jQuery
vue实现双向绑定和依赖收集遇到的坑
2018/11/29 Javascript
JS去除字符串最后的逗号实例分析【四种方法】
2019/06/20 Javascript
微信小程序返回箭头跳转到指定页面实例解析
2019/10/08 Javascript
vue中进行微博分享的实例讲解
2019/10/14 Javascript
IDEA配置jQuery, $符号不再显示黄色波浪线的问题
2020/10/09 jQuery
Python实现类的创建与使用方法示例
2017/07/25 Python
python实现ID3决策树算法
2018/08/29 Python
在PyTorch中Tensor的查找和筛选例子
2019/08/18 Python
python常见字符串处理函数与用法汇总
2019/10/30 Python
Pandas 缺失数据处理的实现
2019/11/04 Python
Python实现鼠标自动在屏幕上随机移动功能
2020/03/14 Python
美国在线印刷公司:PsPrint
2017/10/12 全球购物
西部世纪.net笔试题面试题
2014/04/03 面试题
解决方案设计综合面试题
2015/08/31 面试题
国际残疾人日广播稿范文
2014/10/09 职场文书
初三学生语文考试作弊检讨书
2014/12/14 职场文书
小学生2015教师节演讲稿
2015/03/19 职场文书
就业导师推荐信范文
2015/03/27 职场文书
2015年“世界无车日”活动方案
2015/05/06 职场文书
大学生入党群众意见书
2015/06/02 职场文书
军训决心书范文
2015/09/22 职场文书
「睡美人」爱洛公主粘土人开订
2022/03/22 日漫