我想用类变量做装饰器。我如何使装饰器成为类函数?因为我有很多需要锁定的功能。我不想写下来
with self.lock: or self.lock.release()
每个功能。这是我的代码!
class Something:
self.lock = Lock( .. )
#decorator
def _lock(self, func):
def wrapper(*args, **kwargs):
self.lock.acquire()
func(*args, **kwargs)
self.lock.release()
return wrapper
@_lock
def some_func(self,):
#do something
您必须这样做。它仅适用于实例方法,不适用于函数。
class Something:
self.lock = Lock( .. )
#decorator
def _lock(func):
def wrapper(self, *args, **kwargs):
self.lock.acquire()
r = func(self, *args, **kwargs)
self.lock.release()
return r
return wrapper
@_lock
def some_func(self):
#do something
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句