ChuannBlog

3.2 深入函数

命名空间

加载顺序:
内置–全局(文件打开后执行时从上到下加载)–局部(函数调用时加载)
内置命名空间在解释运行时加载,当解释器解释执行文件时加载全局命名空间,当执行文件某个函数时加载函数的局部命名空间。

作用域

作用域的作用:为了函数内的变量不会影响到全局

nonlocal

函数的嵌套

def animal():
    def dog():
        print('bark')
    print('eat')
    dog()
animal()

其中的dog函数叫内部函数,为了保护这个函数将这个dog函数放进animal函数

闭包函数:

def hei():
    x = 20
    def inner():
        """
        闭包函数
        """
        print(x)

__closure__方法