在python高级语法系列(4)–装饰器 一篇中已经对装饰器的使用情况做了非常详细的介绍,这里简单总结一下装饰器的具体作用:
总的来说装饰器就是利用了AOP面向切面编程的思想,在既有的功能的某个切面上做功能加强
具体展开来说就在如下三个层面做功能加强:
函数执行前后类初始化前后类中的方法执行前后装饰器模式在python领域说白了就是装饰器的灵活应用,比如对一个主题功能做一些辅助功能的扩展,即很适合使用装饰器模式做功能加强
下面是python中支持的装饰器的使用场景,同样,装饰器模式就完全可以根据这些使用场景对既有的功能做功能加强
装饰器是函数, 被装饰对象也是函数 装饰器无参数,被装饰对象无参数装饰器无参数,被装饰对象有参数装饰器有参数,被装饰对象无参数装饰器有参数,被装饰器对象有参数 被装饰对象是类 装饰器无参数,被装饰类无参数装饰器无参数,被装饰类有参数装饰器有参数,被装饰类无参数装饰器有参数,被装饰类有参数 被装饰对象是类中的方法 装饰器无参数,被装饰类中的方法无参数装饰器无参数,被装饰类中的方法有参数装饰器有参数,被装饰类中的方法无参数装饰器有参数,被装饰类中的方法有参数 装饰器是类 被装饰对象也是函数 装饰器无参数,被装饰对象无参数装饰器无参数,被装饰对象有参数装饰器有参数,被装饰对象无参数装饰器有参数,被装饰器对象有参数 被装饰器对象是类 装饰器无参数,被装饰类无参数装饰器无参数,被装饰类有参数装饰器有参数,被装饰类无参数装饰器有参数,被装饰类有参数 被装饰对象是类中的方法 装饰器无参数,被装饰类中的方法无参数装饰器无参数,被装饰类中的方法有参数装饰器有参数,被装饰类中的方法无参数装饰器有参数,被装饰类中的方法有参数原文链接