Python全栈之路----函数进阶----作用域的查找空间

Posted 沫小妤

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python全栈之路----函数进阶----作用域的查找空间相关的知识,希望对你有一定的参考价值。

n = 10

def func():
    n = 20
    print(func:,n)

    def func2():
        n = 30
        print(func2:,n)

        def func3():
            print(func3:,n)

        func3()

    func2()

func()

问题:在func3()里打印的n的值是多少?   30

LEGB代表名字查找顺序:locals -> enclosing function -> globals -> _builtins_

  • locals 是函数内的名字空间,包括局部变量和形参
  • enclosing 是外部嵌套函数的名字空间
  • globals 全局变量,函数定义所在模块的名字空间
  • builtins 内置模块的名字空间

 

以上是关于Python全栈之路----函数进阶----作用域的查找空间的主要内容,如果未能解决你的问题,请参考以下文章

Python全栈之路Day20

Python全栈之路----函数进阶----闭包

Python全栈之路----函数进阶----名称空间

Python 全栈开发:python函数进阶

Python全栈之路----面向对象开发----元类介绍

Python之路 函数进阶