2020
10-08
10-08
Python如何将装饰器定义为类
问题你想使用一个装饰器去包装函数,但是希望返回一个可调用的实例。你需要让你的装饰器可以同时工作在类定义的内部和外部。解决方案为了将装饰器定义成一个实例,你需要确保它实现了__call__()和__get__()方法。例如,下面的代码定义了一个类,它在其他函数上放置一个简单的记录层:importtypesfromfunctoolsimportwrapsclassProfiled:def__init__(self,func):wraps(func)(self)self.ncalls=0def__ca...
继续阅读 >