装饰器应用的地方挺多的, 下面是 python 官方的装饰器列表:
PythonDecoratorLibrary
总结一下差不多就下面几类情况:
注入参数(提供默认参数,生成参数)
记录函数行为(日志、缓存、计时什么的)
预处理/后处理(配置上下文什么的)
修改调用时的上下文(线程异步或者并行,类方法)