是这样的,我封装了一个类,然后许多类中的方法要加一些相同的功能(这些功能都是基于这个类的),我知道装饰器能简化这个过程,但google了许多,没有发现在类中如何实现装饰器.
比如:
class Test(object):
self.i = 1
def fun(self):
print 'hehe'
我想要在一些方法前加入特定改变self.i的方法并把参数传进去,类似这样:
def decorator(self, args):
def _deco(func):
def __deco():
self.i = args
func()
return __deco
return _deco
@decorator(self, args)
def fun(self):
print 'hehe'
这样我就可以把self.i改成args了.但是在类中这种方法不管用~
所以问题来了:
类中可不可以使用并定义装饰器,如何使用?
如果不能使用可以用什么方法代替?
非常感谢