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使用递归解决全排列数字示例
Feb 11 Python
讲解Python中if语句的嵌套用法
May 14 Python
python对json的相关操作实例详解
Jan 04 Python
Python 网页解析HTMLParse的实例详解
Aug 10 Python
Python+Selenium+PIL+Tesseract自动识别验证码进行一键登录
Sep 20 Python
python将回车作为输入内容的实例
Jun 23 Python
Flask框架学习笔记之模板操作实例详解
Aug 15 Python
Python实现滑动平均(Moving Average)的例子
Aug 24 Python
python手写均值滤波
Feb 19 Python
Jupyter Notebook 文件默认目录的查看以及更改步骤
Apr 14 Python
Python连接mysql数据库及简单增删改查操作示例代码
Aug 03 Python
五种Python转义表示法
Nov 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
通过文字传递创建的图形按钮
2006/10/09 PHP
sqlyog 中文乱码问题的设置方法
2008/10/19 PHP
解析php中如何调用用户自定义函数
2013/08/06 PHP
php获取文件名后缀常用方法小结
2015/02/24 PHP
javascript定时变换图片实例代码
2013/03/17 Javascript
完美兼容各大浏览器的jQuery插件实现图片切换特效
2014/12/12 Javascript
JavaScript控制listbox列表框的项目上下移动的方法
2015/03/18 Javascript
jQuery实现简易的天天爱消除小游戏
2015/10/16 Javascript
使用Bootstrap框架制作查询页面的界面实例代码
2016/05/27 Javascript
jQuery针对input的class属性写了多个值情况下的选择方法
2016/06/03 Javascript
jQuery实现可拖拽的许愿墙效果【附demo源码下载】
2016/09/14 Javascript
很棒的一组js图片轮播特效
2017/01/12 Javascript
javascript基于牛顿迭代法实现求浮点数的平方根【递归原理】
2017/09/28 Javascript
修改Nodejs内置的npm默认配置路径方法
2018/05/13 NodeJs
解决Vue的文本编辑器 vue-quill-editor 小图标样式排布错乱问题
2020/08/03 Javascript
Python os模块介绍
2014/11/30 Python
Python多线程、异步+多进程爬虫实现代码
2016/02/17 Python
通过python+selenium3实现浏览器刷简书文章阅读量
2017/12/26 Python
Python lambda表达式用法实例分析
2018/12/25 Python
关于Python作用域自学总结
2019/06/10 Python
Django继承自带user表并重写的例子
2019/11/18 Python
PyTorch 对应点相乘、矩阵相乘实例
2019/12/27 Python
torchxrayvision包安装过程(附pytorch1.6cpu版安装)
2020/08/26 Python
CSS+jQuery+PHP+MySQL实现的在线答题功能
2015/04/25 HTML / CSS
美国最大的宠物药店:1-800-PetMeds
2016/10/02 全球购物
天逸系统(武汉)有限公司Java笔试题
2015/12/29 面试题
水产养殖学应届生求职信
2013/09/29 职场文书
交通事故赔偿协议书范本
2014/04/15 职场文书
环保建议书400字
2014/05/14 职场文书
党员服务承诺书
2014/05/28 职场文书
教师自查自纠工作情况报告
2014/10/29 职场文书
学校2016年九九重阳节活动总结
2016/04/01 职场文书
掌握这项技巧,一年阅读300本书不是梦
2019/09/12 职场文书
元素水平垂直居中的方式
2021/03/31 HTML / CSS
Redis的字符串是如何实现的
2021/10/24 Redis
HTML+JS实现在线朗读器
2022/02/15 Javascript