python中的全局变量用法分析

 更新时间:2015年06月09日 11:17:42   作者:依山带水  
这篇文章主要介绍了python中的全局变量用法,详细分析了Python全局变量使用中的利弊与相关技巧,需要的朋友可以参考下

本文实例分析了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程序设计有所帮助。

相关文章

  • Pandas中的loc与iloc区别与用法小结

    Pandas中的loc与iloc区别与用法小结

    loc函数:通过行索引 “Index” 中的具体值来取行数据(如取"Index"为"A"的行)而iloc函数:通过行号来取行数据(如取第二行的数据),这篇文章介绍Pandas中的loc与iloc区别与用法,感兴趣的朋友一起看看吧
    2024-01-01
  • Python中的集合介绍

    Python中的集合介绍

    今天小编就为大家分享一篇关于Python中的集合介绍,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • Python中图像通用操作的实现代码

    Python中图像通用操作的实现代码

    这篇文章主要为大家详细介绍了Python中图像通用操作的实现,例如:图像旋转、图像缩放等,文中的示例代码讲解详细,需要的可以参考一下
    2023-07-07
  • 用python处理图片实现图像中的像素访问

    用python处理图片实现图像中的像素访问

    本篇文章主要介绍了用python处理图片实现图像中的像素访问,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-05-05
  • Python帮你微信头像任意添加装饰别再@微信官方了

    Python帮你微信头像任意添加装饰别再@微信官方了

    昨天朋友圈刷爆了@微信官方的梗,从起初的为头像添加国旗,到最后的各种Book思议的需求…而我呢?下面跟随小编一起学习Python帮你微信头像任意添加装饰别再@微信官方了,感兴趣的朋友一起看看吧
    2019-09-09
  • pycharm指定python路径过程详解

    pycharm指定python路径过程详解

    这篇文章主要介绍了Pycharm指定python路径过程图解,文中通过示例代码介绍的非常详细,对大家的学习具有一定的参考学习价值,需要的朋友可以参考下
    2023-04-04
  • 如何在Python中创建二叉树

    如何在Python中创建二叉树

    这篇文章主要介绍了如何在Python中创建二叉树,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下
    2021-03-03
  • python发送邮件示例(支持中文邮件标题)

    python发送邮件示例(支持中文邮件标题)

    python发送中文邮件示例,支持中文邮件标题和中文邮件内容。支持多附件。根据用户名推测邮件服务器提供商
    2014-02-02
  • Python3中条件控制、循环与函数的简易教程

    Python3中条件控制、循环与函数的简易教程

    这篇文章主要给大家介绍了关于Python3中条件控制、循环与函数的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-11-11
  • 使用TensorFlow直接获取处理MNIST数据方式

    使用TensorFlow直接获取处理MNIST数据方式

    今天小编就为大家分享一篇使用TensorFlow直接获取处理MNIST数据方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02

最新评论