Python作用域(局部 全局)及global关键字使用详解

 更新时间:2023年10月29日 08:58:58   作者:小万哥  
这篇文章主要为大家介绍了Python作用域(局部 全局)及global关键字使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

局部作用域

变量只在创建它的区域内可用。这被称为作用域。

在函数内部创建的变量属于该函数的局部作用域,并且只能在该函数内部使用。

示例:在函数内部创建的变量在该函数内部可用:

def myfunc():
  x = 300
  print(x)
myfunc()

函数内部的函数

如上面的示例所解释的那样,变量 x 在函数外部不可用,但可以在函数内部的任何函数中使用:

示例:局部变量可以从函数内部的函数中访问:

def myfunc():
  x = 300
  def myinnerfunc():
    print(x)
  myinnerfunc()
myfunc()

全局作用域

在 Python 代码的主体部分创建的变量是全局变量,属于全局作用域。全局变量可以在任何作用域中使用,包括全局作用域和局部作用域。

示例:在函数外部创建的变量是全局的,并且可以被任何人使用:

x = 300
def myfunc():
  print(x)
myfunc()
print(x)

变量命名

如果在函数内部和外部使用相同的变量名称,Python 将把它们视为两个不同的变量,一个在全局作用域(函数外部)中可用,另一个在局部作用域(函数内部)中可用:

示例:该函数将打印局部变量 x,然后代码将打印全局变量 x:

x = 300
def myfunc():
  x = 200
  print(x)
myfunc()
print(x)

global 关键字

如果需要创建一个全局变量,但又受限于局部作用域,可以使用 global 关键字。global 关键字将变量声明为全局变量。

示例:如果使用 global 关键字,变量将属于全局作用域:

def myfunc():
  global x
  x = 300
myfunc()
print(x)

此外,如果您希望在函数内部更改全局变量的值,也可以使用 global 关键字。

示例:要在函数内部更改全局变量的值,请使用 global 关键字引用该变量:

x = 300
def myfunc():
  global x
  x = 200
myfunc()
print(x)

以上就是Python作用域(局部 全局)及global关键字使用详解的详细内容,更多关于Python作用域global关键字的资料请关注脚本之家其它相关文章!

相关文章

  • Python编程中的文件读写及相关的文件对象方法讲解

    Python编程中的文件读写及相关的文件对象方法讲解

    这篇文章主要介绍了Python编程中的文件读写及相关的文件对象方法讲解,其中文件对象方法部分讲到了对文件内容的输入输出操作,需要的朋友可以参考下
    2016-01-01
  • Python中如何添加自定义模块

    Python中如何添加自定义模块

    在本篇文章里小编给大家分享了关于Python中添加自定义模块的实例方法,需要的朋友们可以学习下。
    2020-06-06
  • python基础之爬虫入门

    python基础之爬虫入门

    这篇文章主要介绍了python基础之爬虫入门,文中有非常详细的代码示例,对正在学习python爬虫的小伙伴们有很好地帮助哟,需要的朋友可以参考下
    2021-05-05
  • 与Django结合利用模型对上传图片预测的实例详解

    与Django结合利用模型对上传图片预测的实例详解

    今天小编就为大家分享一篇与Django结合利用模型对上传图片预测详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • Python 如何实现访问者模式

    Python 如何实现访问者模式

    这篇文章主要介绍了Python 如何实现访问者模式,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-07-07
  • pandas如何计算移动平均值

    pandas如何计算移动平均值

    在处理金融数据分析时,常需计算移动平均值。遇到数据不足导致结果为NAN问题,可使用pandas中rolling函数的min_periods参数。设置min_periods=1即可解决,它允许窗口中的非空观测值少于窗口大小时也能计算均值,确保数据不足时也能得出结果
    2024-09-09
  • Python使用Py2neo创建Neo4j的节点和关系

    Python使用Py2neo创建Neo4j的节点和关系

    Neo4j是一款开源图数据库,使用Python语言访问Neo4j可以使用Py2neo。本文介绍了使用Py2neo访问Neo4j,批量创建节点和关系的方法
    2021-08-08
  • python next()和iter()函数原理解析

    python next()和iter()函数原理解析

    这篇文章主要介绍了python next()和iter()函数原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • 用Python制作一个文件加密器

    用Python制作一个文件加密器

    大家好,本篇文章主要讲的是用Python制作一个文件加密器,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-02-02
  • python爬虫爬取某图书网页实例讲解

    python爬虫爬取某图书网页实例讲解

    这篇文章主要介绍了python爬虫爬取某图书网页实例,下面是通过requests库来对ajax页面进行爬取的案例,与正常页面不同,这里我们获取url的方式也会不同,这里我们通过爬取一个简单的ajax小说页面来为大家讲解,需要的朋友可以参考下
    2024-08-08

最新评论