装饰器是 Python 中一个比较难以理解的知识点,其作用是让一个已经存在的函数拥有一个以前没有的功能。装饰器本质上还是一个函数,只是它的功能是为其他函数添加新功能。以计时函数执行为例,如果需要对一个函数进行计时,一种方法是将时钟代码放在每个函数调用周围。另一种方法是将计时代码放在函数定义中,这样做的好处是可以将代码放在一个地方,方便更改。
装饰器在使用 Python 进行项目开发时会大量使用到,尤其是用于有切面需求的场景,比如插入日志、性能测试、缓存等。有了装饰器,就可以抽离出大量与函数功能本身无关的雷同代码并继续重用。