1. 前言
装饰器函数其实是这样的接口:接收一个callable对象(重写__call__方法 )作为参数,返回一个callable对象。
一般callable对象都是函数,但也有例外,只要对某一个对象重写了__call__()方法,那么这个对象就是callable的。
即重写__call__方法可以让一个类的实例可以像一个方法一样使用。如:
2. 声明和调用
2.1 声明
Step1: 生成类
Step2:在类中__init__方法中写入待修饰的方法
Step3: 重写__call__方法对传入的方法进行修饰
2.2 调用
上述@Test会生成Test对象,调用__init__方法向该对象传入fun()方法进行初始化。
再使用:
fun() #则会调用对象中的__call__方法
则会打印
“附加功能”
“fun”