闭包的条件
闭包,从字面意思上可能不太好理解是什么意思,但是从闭包的条件入手会相对比较好理解。闭包需要满足三个条件:
-
必须是嵌套函数
-
内嵌函数需要调用外部函数的变量
-
外部函数的返回值是内嵌函数
满足以上三个条件的内嵌函数和外部函数的变量一起称为闭包。
例子
def outer(num): # 嵌套函数
def inter(): # 内嵌函数
print(num) # 调用了外部函数的变量
return inter # 外部函数的返回值是内嵌函数
上面这个就是闭包的简单例子。outer是个嵌套函数,inter是outer的内嵌函数,inter调用了outer的变量num,outer的返回值是inter。
所以,inter函数和outer函数的参数num一起被称为闭包。
网友评论