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中使用urllib2防止302跳转的代码例子
Jul 07 Python
在Django的URLconf中进行函数导入的方法
Jul 18 Python
ubuntu系统下 python链接mysql数据库的方法
Jan 09 Python
Python错误提示:[Errno 24] Too many open files的分析与解决
Feb 16 Python
python 迭代器和iter()函数详解及实例
Mar 21 Python
python中利用Future对象异步返回结果示例代码
Sep 07 Python
python反编译学习之字节码详解
May 19 Python
使用pytorch搭建AlexNet操作(微调预训练模型及手动搭建)
Jan 18 Python
Django添加bootstrap框架时无法加载静态文件的解决方式
Mar 27 Python
解决Python中导入自己写的类,被划红线,但不影响执行的问题
Jul 13 Python
从零开始的TensorFlow+VScode开发环境搭建的步骤(图文)
Aug 31 Python
Python+OpenCV图像处理——实现直线检测
Oct 23 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调整gif动画图片尺寸示例代码分享
2013/12/05 PHP
php之curl设置超时实例
2014/11/03 PHP
php根据生日计算年龄的方法
2015/07/13 PHP
Joomla实现组件中弹出一个模式(modal)窗口的方法
2016/05/04 PHP
YII框架学习笔记之命名空间、操作响应与视图操作示例
2019/04/30 PHP
基于JQuery实现的类似购物商城的购物车
2011/12/06 Javascript
jQuery如何将选中的对象转化为原始的DOM对象
2014/06/09 Javascript
深入理解javascript中的立即执行函数(function(){…})()
2014/06/12 Javascript
zeroclipboard 单个复制按钮和多个复制按钮的实现方法
2014/06/14 Javascript
JSONP之我见
2015/03/24 Javascript
jQuery使用attr()方法同时设置多个属性值用法实例
2015/03/26 Javascript
jquery插件orbit.js实现图片折叠轮换特效
2015/04/14 Javascript
js实现字符串转日期格式的方法
2015/05/20 Javascript
JS实现将Asp.Net的DateTime Json类型转换为标准时间的方法
2016/08/02 Javascript
vue实现列表的添加点击
2016/12/29 Javascript
vue watch自动检测数据变化实时渲染的方法
2018/01/16 Javascript
对angularjs框架下controller间的传值方法详解
2018/10/08 Javascript
JavaScript根据json生成html表格的示例代码
2018/10/24 Javascript
浅析vue-cli3配置webpack-bundle-analyzer插件【推荐】
2019/10/23 Javascript
Python图片转换成矩阵,矩阵数据转换成图片的实例
2018/07/02 Python
django解决跨域请求的问题详解
2019/01/20 Python
使用Python提取文本中含有特定字符串的方法示例
2020/12/09 Python
python实现双人五子棋(终端版)
2020/12/30 Python
HTML5实现Notification API桌面通知功能
2016/03/02 HTML / CSS
为什么需要版本控制?
2013/08/08 面试题
EJB的基本架构
2016/09/22 面试题
报到证丢失证明
2014/01/11 职场文书
音乐教学案例
2014/01/30 职场文书
2014院党委领导班子及其成员群众路线对照检查材料思想汇报
2014/10/04 职场文书
2014年度个人工作总结范文
2015/03/09 职场文书
教师节倡议书2015
2015/04/27 职场文书
2015年高校图书馆工作总结
2015/04/30 职场文书
六一儿童节园长致辞
2015/07/31 职场文书
六年级作文之关于梦
2019/10/22 职场文书
Go使用协程交替打印字符
2021/04/29 Golang
人物搭配车车超萌联名预备中 【咒术迴战】 ⨯ 【天竺鼠车车】 展开合作
2022/04/11 日漫