Python函数中的全局变量详解

 更新时间:2022年01月11日 10:38:06   作者:站长在线  
大家好,本篇文章主要讲的是Python函数中的全局变量详解,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览

1、什么是全局变量?

在Python中,全局变量指的是可以作用于函数内部和外部的变量。

在这里有两种情况:在函数的外部定义和内部定义添加global关键词变成全局变量。

2、在函数外部定义的变量是全局变量。

假设一个变量在函数的外部定义,那么这个函数就可以在函数的内部访问,也可以在函数的外部的访问。

示例:定义一个全局变量b,然后定义一个函数a,最后在该函数的内部和外部输出全局变量m的值,​​代码​​如下:

b  = '我爱Python,我在学习Python!'      # 定义全局变量
def a():                                 # 定义函数
    print('函数内部全局变量b=',b)        # 在函数内部输出全局变量
a()
print('函数外部全局变量b=',b)        # 在函数外部输出全局变量

运行结果如下:

函数内部全局变量b= 我爱Python,我在学习Python!
函数外部全局变量b= 我爱Python,我在学习Python!
>>>

3、在函数内部定义中添加global关键词后变成全局变量。

在Python中,内部定义的函数中,添加关键词global后,改变量就变成了全局变量。在函数的外部也可以访问到该变量,同时还可以在函数的内部进行修改。

示例:定义相同名称不同内容的全局变量和局部变量b,并输出它们的值:

b = '我爱Python,我在学习Python!'    # 定义全局变量
print('函数外部全局变量b=',b)      # 在函数外部输出全局变量
def a():                # 定义函数
  b = '人生苦短,我用Pyhon!'    # 定义局部变量
  print('函数内部局部变量b=',b)    # 在函数内部输出全局变量
a()                   # 调用函数
print('函数外部全局变量b=',b)      # 在函数外部输出全局变量

运行结果如下:

函数外部全局变量b= 我爱Python,我在学习Python!
函数内部局部变量b= 人生苦短,我用Pyhon!
函数外部全局变量b= 我爱Python,我在学习Python!
>>>

从上面的结果可以看出,内部变量(局部变量)可以和外部变量(全局变量)重名,不影响全局变量的值。

当然在函数内部变量前面添加关键字global,就变成了全局变量了,代码如下:

b = '我爱Python,我在学习Python!'   # 定义全局变量
print('函数外部全局变量b=',b)      # 在函数外部输出全局变量
def a():                # 定义函数
  global b              # 添加global关键字
  b = '人生苦短,我用Pyhon!'    # 定义局部变量
  print('函数内部全局变量b=',b)    # 在函数内部输出全局变量
a()                   # 调用函数
print('函数外部全局变量b=',b)      # 在函数外部输出全局变量

运行结果如下:

函数外部全局变量b= 我爱Python,我在学习Python!
函数内部全局变量b= 人生苦短,我用Pyhon!
函数外部全局变量b= 人生苦短,我用Pyhon!
>>>

从上面的结果可以看出,在函数的内部也可以修改全局变量的值。

总结

到此这篇关于Python函数中的全局变量详解的文章就介绍到这了,更多相关Python全局变量内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python实现的一个p2p文件传输实例

    python实现的一个p2p文件传输实例

    这篇文章主要介绍了python实现的一个p2p文件传输实例,文中用来解决多台服务器维护文件同步问题,需要的朋友可以参考下
    2014-06-06
  • 浅析Python中元祖、列表和字典的区别

    浅析Python中元祖、列表和字典的区别

    Python中有三种內建的数据结构:列表、元祖和字典,这篇文章对这三种数据结构进行了分别的介绍与实例演示,让大家更简洁明了的了解这三个之间的区别,下面一起来看看。
    2016-08-08
  • python实现的批量分析xml标签中各个类别个数功能示例

    python实现的批量分析xml标签中各个类别个数功能示例

    这篇文章主要介绍了python实现的批量分析xml标签中各个类别个数功能,涉及Python针对xml文件的遍历、读取、解析等相关操作技巧,需要的朋友可以参考下
    2019-12-12
  • python 生成图形验证码的方法示例

    python 生成图形验证码的方法示例

    日常在网站使用过程中经常遇到图形验证,这篇文章主要介绍了python 生成图形验证码的方法示例,非常具有实用价值,需要的朋友可以参考下
    2018-11-11
  • Python机器学习从ResNet到DenseNet示例详解

    Python机器学习从ResNet到DenseNet示例详解

    ResNet极大地改变了如何参数化深层网络中函数的观点。稠密连接网络(DenseNet)在某种程度上是ResNet的逻辑扩展。让我们先从数学上了解下
    2021-10-10
  • Python Celery异步任务队列使用方法解析

    Python Celery异步任务队列使用方法解析

    这篇文章主要介绍了Python Celery异步任务队列使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • Python的Flask框架Request请求对象详解

    Python的Flask框架Request请求对象详解

    这篇文章主要介绍了Python的Flask框架Request请求对象详解,Flask是一个轻量级的基于Python的web框架,使用 method 属性可以操作当前请求方法,通过使用 form 属性处理表单数据,需要的朋友可以参考下
    2023-08-08
  • 详解python中字典的循环遍历的两种方式

    详解python中字典的循环遍历的两种方式

    本篇文章主要介绍了python中字典的循环遍历的两种方式 ,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • Python 图像处理之PIL库详解用法

    Python 图像处理之PIL库详解用法

    对于图像识别,大量的工作在于图像的处理,处理效果好,那么才能很好地识别,因此,良好的图像处理是识别的基础。在Python中,有一个优秀的图像处理框架,就是PIL库,本文会介绍PIL库中的各种方法,并列举相关例子
    2021-11-11
  • python+mediapipe+opencv实现手部关键点检测功能(手势识别)

    python+mediapipe+opencv实现手部关键点检测功能(手势识别)

    这篇文章主要介绍了python+mediapipe+opencv实现手部关键点检测功能(手势识别),本文仅仅简单介绍了mediapipe的使用,而mediapipe提供了大量关于图像识别等的方法,需要的朋友可以参考下
    2022-01-01

最新评论