装饰器

1.闭包函数的原理就是包含内层函数的return和外层环境变量

2.装饰器在本质上是一个python函数,其他函数在不需要做任何代码变动的前提下增加额外功能,装饰器的返回值(return)也是一个函数对象.

装饰器

3.使用装饰器极大的服用了代码,但是它有一个缺点就是原函数的元信息不见了。

装饰器

 

为此解决的方法是使用functools.wraps,wraps本身也是一个装饰器,它能把原函数的元信息拷贝到装饰器函数中,这使得装饰器函数也有和原函数一样的元信息了。

装饰器