一、Decorator Pattern(修饰器模式)
设计模式的一种,主要功能是向一个现有的对象添加额外功能的同时又不改变其结构。传统方法是使用子类继承的方式来对某一个类进行扩展,但是会导致出现非常多的子类。
二、python 实例
在 python 中,函数可以是一个对象
1 | def Add(原函数名): |
以上相当于 Decorator 的实现
下面是具体使用
1 | def Add(func): |
输出如下
1 | new |
可以看出以下两组代码等价
1 | def fun_x(): |
1 |
|
可以在修饰器里面为原函数增加功能,甚至可以完全更改原函数的功能。
修饰器是一个函数,它返回一个新的函数,这个返回的函数用于替代原来的函数的行为。
以上只是对装饰器(修饰器)的简单了解,后面还有带参数的修饰器、修饰器类等更多复杂知识,有需要再说吧