类的装饰器
还记得以前的函数的装饰器吗?是不是基本结构是这样的:
def deco(fun): print('*'*50)
return fun @deco #相当于做了:Foo=deco(Foo) def Foo(): pass
那么类的装饰器又是怎么样的呢?其实和函数的装饰器原理一样。
因为函数和类,本质上都是一个类
def deco(obj): print('*'*50) obj.x = 1 obj.y = 2 return obj @deco #相当于做了:Foo=deco(Foo) class Foo: pass print(Foo.x) #这样就简单的对Foo类进行了装饰