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使用matplotlib绘制动画的方法
May 20 Python
Python中使用支持向量机SVM实践
Dec 27 Python
Django基础知识与基本应用入门教程
Jul 20 Python
Pycharm无法使用已经安装Selenium的解决方法
Oct 13 Python
python异步存储数据详解
Mar 19 Python
python使用turtle绘制国际象棋棋盘
May 23 Python
获取django框架orm query执行的sql语句实现方法分析
Jun 20 Python
获取Pytorch中间某一层权重或者特征的例子
Aug 17 Python
Python之Numpy的超实用基础详细教程
Oct 23 Python
python分别打包出32位和64位应用程序
Feb 18 Python
Python子进程subpocess原理及用法解析
Jul 16 Python
python+selenium实现12306模拟登录的步骤
Jan 21 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自定义函数返回多个值
2006/11/26 PHP
使用PHP获取网络文件的实现代码
2010/01/01 PHP
JSON在PHP中的应用介绍
2012/09/08 PHP
php使用curl打开https网站的方法
2015/06/17 PHP
thinkphp中U方法按路由规则生成url的方法
2018/03/12 PHP
jquery ajax提交表单数据的两种方式
2009/11/24 Javascript
javascript之querySelector和querySelectorAll使用介绍
2011/12/20 Javascript
jquery remove方法应用详解
2012/11/22 Javascript
EXTjs4.0的store的findRecord的BUG演示代码
2013/06/08 Javascript
node.js中的fs.readlink方法使用说明
2014/12/17 Javascript
轻松创建nodejs服务器(8):非阻塞是如何实现的
2014/12/18 NodeJs
JS实现设置ff与ie元素绝对位置的方法
2016/03/08 Javascript
基于Bootstrap实现tab标签切换效果
2020/04/15 Javascript
浅谈JavaScript 执行环境、作用域及垃圾回收
2016/05/31 Javascript
JavaScript接口的实现三种方式(推荐)
2016/06/14 Javascript
windows下vue.js开发环境搭建教程
2017/03/20 Javascript
jQuery响应滚动条事件功能示例
2017/10/14 jQuery
JS获取浏览器地址栏的多个参数值的任意值实例代码
2018/07/24 Javascript
微信小程序 组件的外部样式externalClasses使用详解
2019/09/06 Javascript
使用js实现一个简单的滚动条过程解析
2019/09/10 Javascript
[01:04:05]VG vs Newbee 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
Python中的模块和包概念介绍
2015/04/13 Python
对python中if语句的真假判断实例详解
2019/02/18 Python
pytorch 自定义数据集加载方法
2019/08/18 Python
如何定义TensorFlow输入节点
2020/01/23 Python
PyQT5 实现快捷键复制表格数据的方法示例
2020/06/19 Python
python 绘制场景热力图的示例
2020/09/23 Python
css背景图片的背景裁切、背景透明度、背景变换等效果运用
2012/12/24 HTML / CSS
英国著名的药妆网站:Escentual
2016/07/29 全球购物
美国珠宝精品店:Opulent Jewelers
2019/08/20 全球购物
给领导的检讨书
2014/02/16 职场文书
《夕阳真美》教学反思
2014/04/27 职场文书
计算机考试作弊检讨书1000字
2015/01/01 职场文书
考试作弊检讨书范文
2015/01/27 职场文书
中学教师师德师风承诺书
2015/04/28 职场文书
2015年质检工作总结
2015/05/04 职场文书