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中title()方法的使用简介
May 20 Python
windows系统下Python环境搭建教程
Mar 28 Python
python抽取指定url页面的title方法
May 11 Python
浅谈django三种缓存模式的使用及注意点
Sep 30 Python
python3实现zabbix告警推送钉钉的示例
Feb 20 Python
基于python实现学生信息管理系统
Nov 22 Python
Python手绘可视化工具cutecharts使用实例
Dec 05 Python
Python调用Windows API函数编写录音机和音乐播放器功能
Jan 05 Python
PyTorch 普通卷积和空洞卷积实例
Jan 07 Python
Python+Django+MySQL实现基于Web版的增删改查的示例代码
May 13 Python
python装饰器三种装饰模式的简单分析
Sep 04 Python
一起来学习Python的元组和列表
Mar 13 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
ASP知识讲座四
2006/10/09 PHP
php产生随机数的两种方法实例代码 输出随机IP
2011/04/08 PHP
百度站点地图(百度sitemap)生成方法分享
2014/01/09 PHP
easyui的tabs update正确用法分享
2014/03/21 PHP
php中运用http调用的GET和POST方法示例
2014/09/29 PHP
ThinkPHP公共配置文件与各自项目中配置文件组合的方法
2014/11/24 PHP
详解PHP的Yii框架中日志的相关配置及使用
2015/12/08 PHP
php版微信小店调用api示例代码
2016/11/12 PHP
PHP操作MySQL中BLOB字段的方法示例【存储文本与图片】
2017/09/15 PHP
Laravel框架基础语法与知识点整理【模板变量、输出、include引入子视图等】
2019/12/03 PHP
使用jQuery的ajax功能实现的RSS Reader 代码
2009/09/03 Javascript
纯JavaScript代码实现文本比较工具
2016/02/17 Javascript
Vue.js每天必学之构造器与生命周期
2016/09/05 Javascript
JavaScript获取服务器时间的方法详解
2016/12/11 Javascript
基于JavaScript实现弹幕特效
2020/08/27 Javascript
微信小程序滑动选择器的实现代码
2018/08/10 Javascript
实例分析Array.from(arr)与[...arr]到底有何不同
2019/04/09 Javascript
js中arguments对象的深入理解
2019/05/14 Javascript
vscode 插件开发 + vue的操作方法
2020/06/05 Javascript
python将html转成PDF的实现代码(包含中文)
2013/03/04 Python
python类定义的讲解
2013/11/01 Python
Python 基础知识之字符串处理
2017/01/06 Python
python 创建一维的0向量实例
2019/12/02 Python
Scrapy框架实现的登录网站操作示例
2020/02/06 Python
重写django的model下的objects模型管理器方式
2020/05/15 Python
Python OpenCV读取中文路径图像的方法
2020/07/02 Python
python os.rename实例用法详解
2020/12/06 Python
python 合并多个excel中同名的sheet
2021/01/22 Python
canvas实现二维码和图片合成的示例代码
2018/08/01 HTML / CSS
台湾森森购物网:U-mall
2017/10/16 全球购物
婚前财产公证书
2014/04/10 职场文书
小学阳光体育活动总结
2014/07/05 职场文书
客户答谢会活动方案
2014/08/31 职场文书
房屋买卖协议样本
2014/11/16 职场文书
python脚本框架webpy模板控制结构
2021/11/20 Python
python创建字典及相关管理操作
2022/04/13 Python