decorating base methods

Duncan Booth duncan.booth at invalid.invalid
Wed Aug 13 07:48:05 EDT 2008


Alexandru  Mosoi <brtzsnr at gmail.com> wrote:

> I want to derive a base class, such that some methods are decorated.
> 
> The only thing I have in mind is:
> 
> class Base(object):
>   def A(self, x): pass
>   def B(self, y): pass
> 
> class Derived(Base):
>   @decorator
>   def A(self, x): Base.A(self, x)
> 
> Is this correct approach? How can avoid call to Base.A(...)?

Decorators are just syntactic sugar for calling a function, so for this 
situation you probably want to ignore the sugar and use the decorator 
directly:

class Derived(Base):
  A = decorator(Base.A)

-- 
Duncan Booth http://kupuguy.blogspot.com



More information about the Python-list mailing list