1.什么是闭包
内外函数嵌套,内部函数引用外部函数作用域下的非全局变量,外函数返回内函数对象
优点:为变量续命
缺点:浪费内存
创建一个闭包必须满足以下几点:
1. 必须有一个内嵌函数
2. 内嵌函数必须引用外部函数中的变量
3. 外部函数的返回值必须是内嵌函数
2.什么是装饰器
装饰器就是一种的闭包的应用,只不过其传递的是函数:
Python中的装饰器是一种可以装饰其它对象的工具。该工具本质上是一个可调用的对象(callable),所以装饰器一般可以由函数、类来实现。装饰器本身需要接受一个被装饰的对象作为参数,该参数通常为函数、方法、类等对象。装饰器需要返回一个对象,该对象可以是 经过处理的原参数对象、一个包装且类似原参数的对象;或者返回一个不相干内容