Decorating class methods – how to pass the instance to the decorator?
You need to make the decorator into a descriptor — either by ensuring its (meta)class has a __get__ method, or, way simpler, by using a decorator function instead of a decorator class (since functions are already descriptors). E.g.: def dec_check(f): def deco(self): print ‘In deco’ f(self) return deco class bar(object): @dec_check def foo(self): print ‘in … Read more