「Python」闭包

闭包的条件

闭包,从字面意思上可能不太好理解是什么意思,但是从闭包的条件入手会相对比较好理解。闭包需要满足三个条件:

  • 必须是嵌套函数

  • 内嵌函数需要调用外部函数的变量

  • 外部函数的返回值是内嵌函数

满足以上三个条件的内嵌函数和外部函数的变量一起称为闭包。

例子

def outer(num): # 嵌套函数
    def inter(): # 内嵌函数
        print(num) # 调用了外部函数的变量
    return inter # 外部函数的返回值是内嵌函数

上面这个就是闭包的简单例子。outer是个嵌套函数,inter是outer的内嵌函数,inter调用了outer的变量num,outer的返回值是inter。

所以,inter函数和outer函数的参数num一起被称为闭包。

你可能感兴趣的:(「Python」闭包)