我们先通过一组案例,深入了解。
代码如下:
class Count:
def __init__(self, func):
self.func = func
self.num_calls = 0
def __call__(self, *args, **kwargs):
self.num_calls += 1
print('num of calls is: {}'.format(self.num_calls))
return self.func(*args, **kwargs)这是一个标准的装饰器写法,其中我们套入进去call的写法,那么大家可以根据流程想到后续的输出内容,是否如下:
num of calls is: 1 hello world example()