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正则表达式抓取成语网站
Nov 20 Python
详解python函数传参是传值还是传引用
Jan 16 Python
python实现简单神经网络算法
Mar 10 Python
Python cookbook(数据结构与算法)从序列中移除重复项且保持元素间顺序不变的方法
Mar 13 Python
Tensorflow之Saver的用法详解
Apr 23 Python
Random 在 Python 中的使用方法
Aug 09 Python
python实现集中式的病毒扫描功能详解
Jul 09 Python
react+django清除浏览器缓存的几种方法小结
Jul 17 Python
Django模板标签中url使用详解(url跳转到指定页面)
Mar 19 Python
Python代码执行时间测量模块timeit用法解析
Jul 01 Python
详解使用Python写一个向数据库填充数据的小工具(推荐)
Sep 11 Python
使用Python开发冰球小游戏
Apr 30 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
PHP 利用AJAX获取网页并输出的实现代码(Zjmainstay)
2012/08/31 PHP
php正则取img标记中任意属性(正则替换去掉或改变图片img标记中的任意属性)
2013/08/13 PHP
php实现天干地支计算器示例
2014/03/14 PHP
Nigma vs Alliance BO5 第一场2.14
2021/03/10 DOTA
javascript 事件查询综合 推荐收藏
2010/03/10 Javascript
JS+CSS实现仿支付宝菜单选中效果代码
2015/09/25 Javascript
js入门之Function函数的使用方法【新手必看】
2016/11/22 Javascript
angular2+nodejs实现图片上传功能
2017/03/27 NodeJs
AngularJS表单验证功能分析
2017/05/26 Javascript
ztree简介_动力节点Java学院整理
2017/07/19 Javascript
node.js利用socket.io实现多人在线匹配联机五子棋
2018/05/31 Javascript
详解webpack打包第三方类库的正确姿势
2018/10/20 Javascript
layer弹出层自定义提交取消按钮的例子
2019/09/10 Javascript
vue中beforeRouteLeave实现页面回退不刷新的示例代码
2019/11/01 Javascript
详解Vue3中对VDOM的改进
2020/04/23 Javascript
Python文件读取的3种方法及路径转义
2015/06/21 Python
python3中set(集合)的语法总结分享
2017/03/24 Python
python实现日常记账本小程序
2018/03/10 Python
Window10+Python3.5安装opencv的教程推荐
2018/04/02 Python
解决python升级引起的pip执行错误的问题
2018/06/12 Python
python 除法保留两位小数点的方法
2018/07/16 Python
Python + selenium + requests实现12306全自动抢票及验证码破解加自动点击功能
2018/11/23 Python
一个可以套路别人的python小程序实例代码
2019/04/09 Python
python函数装饰器之带参数的函数和带参数的装饰器用法示例
2019/11/06 Python
CSS的pointer-events属性详细介绍(作用和注意事项)
2014/04/23 HTML / CSS
webView加载html图片遇到的问题解决
2019/10/08 HTML / CSS
Hunkemöller西班牙:欧洲最大的内衣连锁店
2018/08/15 全球购物
罗马尼亚购物网站:Vivantis.ro
2019/07/20 全球购物
期末考试动员演讲稿
2014/01/10 职场文书
生日邀请函范文
2014/01/13 职场文书
《中国的气候》教学反思
2014/02/23 职场文书
奥巴马的演讲稿
2014/05/15 职场文书
2014年教师节讲话稿5篇
2014/09/10 职场文书
2016新年慰问信范文
2015/03/25 职场文书
交通肇事罪辩护词
2015/05/21 职场文书
2015年税务稽查工作总结
2015/05/26 职场文书