一,认识装饰器decorator
1,什么是装饰器?
装饰器是Python中一种特殊的语法结构,
它允许程序员在不修改被装饰对象源代码的情况下,
通过在函数或类定义前加上“@装饰器函数”的形式来动态地扩展或修改原始行为,
使得代码复用和可维护性更好
装饰器本质上是一个可调用对象,
它接收一个函数或类作为参数,并返回一个新的函数或类。
当装饰器作用于函数或类时,它会先执行装饰器函数,
然后将其返回值作为新的函数或类。
2,装饰器的执行过程:
@
符号就是装饰器的语法糖。
它放在一个函数开始定义的地方,和这个函数绑定在一起。
当调用这个函数的时候,第一件事并不是执行这个函数,
而是将这个函数做为参数传入它上面的装饰器。
3,装饰器的本质:
装饰器是在不改变已有的函数源代码及调用方式的前提下,对已有函数进行功能扩展
其本质上就是一个闭包函数;
只不过闭包函数的外部函数有且只有一个参数,
且这个参数必须是函数类型的才是装饰器
4,装饰器的功能特点:
不修改已有函数的源代码
不修改已有函数的调用方式
给已有函数增加额外的功能
5, 装饰器的常用场景
记录日志