这里用到了__call__的class内置参数
#类装饰器:
class zsq():
#本质是定义一个参数,让装饰的主题传递至__call__方法内部
def __init__(self,obj):
self.obj = obj
#利用__call__将类转变为可执行
#__call__内相当于函数装饰器最外层
def __call__(self, *args, **kwargs):
print("start")
#返回主机函数
re = self.obj(*args, **kwargs)
print("end")
return re #装饰
@zsq
def Test():
print( "这是Test主体函数....")
return "这是Test主体函数...." # 赋值,执行
a = Test()
print(a)