• 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,或者扫描下方二维码,关注公众号,即可获取最新文章。

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

    image

  • 相关阅读:
    网站SEO优化
    LQ0240 括号问题【程序填空】
    攻防世界数据逆向 2023
    glog简单介绍和使用
    帆软下载PDF报错java.lang.OutOfMemoryError: Java heap space
    Java 程序员从携程、美团、阿里面试回来,这些面经分享给大家
    论文投稿指南——中文核心期刊推荐(电子、通信技术)
    能助我拿 3 家大厂 offer 的神级 Java 面试宝典,你值得拥有
    The Hello World Module
    什么是设计模式?
  • 原文地址:https://www.cnblogs.com/xiaowange/p/17794464.html