通过类实现通用的装饰器

# 3、通过类实现一个通用装饰器,既可以装饰函数,又可以装饰器类,不管函数和类需不需要传参都可以装饰
 
class Decorate:
def __init__(self, data): # data:传进来的类或者方法,保存为对象属性
self.data = data
 
def __call__(self, *args, **kwargs):
 
print('----start-----')
res = self.data(*args, **kwargs)
print('----end-----')
return res
 
 
@Decorate
class Demo:
 
def __init__(self):
print('我是Demo类')
 
@Decorate
def func():
print('我是func方法')
posted @ 2021-08-22 23:05  水迹  阅读(25)  评论(0编辑  收藏  举报