1、闭包定义
闭包就是外部函数中定义一个内部函数,内部函数引用外部函数中的变量,外部函数的返回值是内部函数
2、闭包定义条件
创建一个闭包需要满足以下几点:
- 必须有一个内嵌函数
- 内嵌函数必须引用外部函数中的变量
- 外部函数的返回值必须是内嵌函数
3、闭包与装饰器区别
闭包和装饰器的区别:闭包传递的是变量,而装饰器传递的是函数,除此之外没有任何区别,或者说装饰器是闭包的一种,它只是传递函数的闭包
4、闭包示例
# 闭包
def out(i): # 一个外层函数
def inner(j): # 内层函数
return i*j
return inner