Python 作用域:局部作用域、全局作用域和使用 global 关键字

这篇具有很好参考价值的文章主要介绍了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)

最后

为了方便其他设备和平台的小伙伴观看往期文章:公众号搜索Let us Coding,或者扫描下方二维码,关注公众号,即可获取最新文章。

看完如果觉得有帮助,欢迎点赞、收藏关注

Python 作用域:局部作用域、全局作用域和使用 global 关键字文章来源地址https://www.toymoban.com/news/detail-711300.html

到了这里,关于Python 作用域:局部作用域、全局作用域和使用 global 关键字的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • volatile关键字作用

    volatile是一个和多线程相关的,主要有一下2点作用(只保证可见性,不保证原子性) 防止指令重排(有序性) JVM在不改变程序执行结果的前提下,在编译时会对指令的顺序进行重新排序,而volatile则能够禁止指令的重新排序 能够确保线程内存中的对象对其他内存可

    2024年02月15日
    浏览(46)
  • final关键字的作用

    目录 1.修饰类时 2.修饰方法时 3.修饰属性和局部变量时 3.1修饰局部变量时 3.2修饰成员变量时 3.3修饰类变量时 4.final与普通变量的区别 5.final用于引用 1.只能是公共的(public)就算不写也是public 2.被final修饰的类不可以被继承 1.方法不能不能覆盖 2.被final修饰的方法,JVM会尝试

    2024年02月05日
    浏览(58)
  • static关键字的作用

    大家好,我是免费搭建查券返利机器人赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!今天,让我们深入探讨在程序设计中经常使用的之一——“static”,并详细解析其作用。无论你是初学者还是有一定经验的开发者,了解如何正确使

    2024年02月02日
    浏览(43)
  • 【C语言趣味教学】(6) 作用域:局部变量 | 全局变量 | 局部变量优先原则 | 利用大括号限制作用域 | 变量的生命周期

        🔗 【C语言趣味教程】专栏介绍👈 猛戳了解!!! 0x00 引入:什么是作用域? 变量和常量在程序中都是有作用范围的,这个范围我们称之为变量的  作用域 (scope) 。 作用域也称为 \\\"定义域\\\",是程序中 定义的变量所存在的区域,出了该区域变量就不能被访问。 变量的作

    2024年02月14日
    浏览(33)
  • 【C语言趣味教程】(6) 作用域:局部变量 | 全局变量 | 局部变量优先原则 | 利用大括号限制作用域 | 变量的生命周期

        🔗 【C语言趣味教程】专栏介绍👈 猛戳了解!!! 0x00 引入:什么是作用域? 变量和常量在程序中都是有作用范围的,这个范围我们称之为变量的  作用域 (scope) 。 作用域也称为 \\\"定义域\\\",是程序中 定义的变量所存在的区域,出了该区域变量就不能被访问。 变量的作

    2024年02月14日
    浏览(52)
  • [开发语言][c++]:Static关键字和全局变量

    写在前面: 如果您只是想回顾或了解一下static和全局变量的异同点,那么下面的总结将满足您的需求。 如果您是一位初学者或对二者的使用模棱两可,建议您读完该篇文章,相信这一篇将解答完您对于static以及全局变量的所有疑惑。 如有问题或建议欢迎评论 or 私信

    2024年01月20日
    浏览(58)
  • java static关键字的作用

    用来修饰成员变量,将其变为类的成员,从而实现所有对象对于该成员的共享; 静态块用法,将多个类成员放在一起初始化,使得程序更加规整,其中理解对象的初始化过程非常关键; 用来修饰成员方法,将其变为类方法,可以直接使用“类名.方法名”的方式调用,常用于

    2024年02月08日
    浏览(50)
  • C# this关键字的作用

    在C#中, this 有以下几种主要作用: 引用当前对象: this  用于引用当前类的实例。可以通过  this  来访问当前对象的成员变量、方法和属性。 区分字段与局部变量:当成员变量和局部变量同名时,可以使用  this  来区分。 在构造函数中调用其他构造函

    2024年02月22日
    浏览(50)
  • c#using关键字的作用

    https://blog.csdn.net/Mona_Zhao/article/details/91363446 using的三种作用: 1. 引用命名空间; 2. 为命名空间或者类型创建别名; 3. 使用using语句。 (1)引用命名空间         类似于c和c++的#include, python的import,都是在程序中引入命名空间的类型,而不必制定类型详细的命名空间。

    2024年02月09日
    浏览(40)
  • extern “C”关键字的作用

    extern \\\"C\\\" 是用于在C++中声明使用C语言编写的函数和变量的。C++和C在函数调用和变量命名等方面存在一些差异,为了在C++代码中正确地使用C语言的函数和变量,需要使用extern \\\"C\\\"来进行声明。 函数重载(Function Overloading) : C++支持函数重载,即可以定义多个同名函数,

    2024年02月10日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包