Python 中多个 decorator class 的属性丢失问题
Stack Overflow 上有人问到在 Python 中,为一个函数指定多个 decorator class 时出现的属性丢失问题。其下就有人贴出了答案,在 decorator class 的 __init__ 中进行属性的复制:
上面贴出的这个答案,最后的 __repr__ 是提问者自己补充的,用于 debug。上述属性的复制看起来真像在 JavaScript 中实现继承的法子。 XD
class NullDecl (object):
def __init__ (self, func):
self.func = func for n in set(dir(func)) - set(dir(self)): setattr(self, n, getattr(func, n)) def __call__ (self, * args):
return self.func (*args) def __repr__(self):
return self.func上面贴出的这个答案,最后的 __repr__ 是提问者自己补充的,用于 debug。上述属性的复制看起来真像在 JavaScript 中实现继承的法子。 XD


0 条评论:
发表评论
订阅 博文评论 [Atom]
<< 主页