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 RuntimeError: thread.__init__() not called解决方法
Apr 28 Python
python使用append合并两个数组的方法
Apr 28 Python
python按时间排序目录下的文件实现方法
Oct 17 Python
对python 合并 累加两个dict的实例详解
Jan 21 Python
python实现函数极小值
Jul 10 Python
关于PyTorch源码解读之torchvision.models
Aug 17 Python
Python 共享变量加锁、释放详解
Aug 28 Python
Python 读取用户指令和格式化打印实现解析
Sep 02 Python
Pycharm中出现ImportError:DLL load failed:找不到指定模块的解决方法
Sep 17 Python
Django单元测试中Fixtures的使用方法
Feb 26 Python
Django用内置方法实现简单搜索功能的方法
Dec 18 Python
Requests什么的通通爬不了的Python超强反爬虫方案!
May 20 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
967 个函式
2006/10/09 PHP
php pthreads多线程的安装与使用
2016/01/19 PHP
php简单获取复选框值的方法
2016/05/11 PHP
thinkPHP5项目中实现QQ第三方登录功能
2017/10/20 PHP
JavaScript学习笔记(十七)js 优化
2010/02/04 Javascript
利用JS实现浏览器的title闪烁
2013/07/08 Javascript
jQuery实现可收缩展开的级联菜单实例代码
2013/11/27 Javascript
JavaScript中的索引数组、关联数组和静态数组、动态数组讲解
2014/11/08 Javascript
JavaScript实现倒计时代码段Item1(非常实用)
2015/11/03 Javascript
Node.js文件操作方法汇总
2016/03/22 Javascript
利用css+原生js制作简单的钟表
2020/04/07 Javascript
js的三种继承方式详解
2017/01/21 Javascript
Vue自定义指令拖拽功能示例
2017/02/17 Javascript
Bootstrap下拉菜单Dropdowns的实现代码
2017/03/17 Javascript
最基础的vue.js双向绑定操作
2017/08/23 Javascript
vue+vuecli+webpack中使用mockjs模拟后端数据的示例
2017/10/24 Javascript
javascript Function函数理解与实战
2017/12/01 Javascript
jQuery中使用validate插件校验表单功能
2019/05/24 jQuery
node使用request请求的方法
2019/12/20 Javascript
python使用socket连接远程服务器的方法
2015/04/29 Python
用Python实现命令行闹钟脚本实例
2016/09/05 Python
python 3.6 tkinter+urllib+json实现火车车次信息查询功能
2017/12/20 Python
Python使用pyodbc访问数据库操作方法详解
2018/07/05 Python
用Python画小女孩放风筝的示例
2019/11/23 Python
python 实现矩阵填充0的例子
2019/11/29 Python
python实现人像动漫化的示例代码
2020/05/17 Python
护理专业应届毕业生推荐信
2013/11/15 职场文书
十八大报告观后感
2014/01/28 职场文书
手机被没收检讨书
2014/02/22 职场文书
个人安全生产责任书
2014/07/28 职场文书
2014教师教育实践活动对照检查材料思想汇报
2014/09/21 职场文书
2015年少先队活动总结
2015/03/25 职场文书
Nginx同一个域名配置多个项目的实现方法
2021/03/31 Servers
python使用openpyxl库读写Excel表格的方法(增删改查操作)
2021/05/02 Python
winserver2019安装软件一直卡在应用程序正在为首次使用做准备
2022/06/10 Servers
Zabbix对Kafka topic积压数据监控的问题(bug优化)
2022/07/07 Servers