title: How to add a decorator to inherited method in Python without copying whole method?
body: <p>I've a class that inherits decorated properties from its parent. I want to   add one more decorator (<code>@thedecorator1("yyy")</code>), but without overriding the whole method and existing decorators. (Order of decorators is important to some extent, thedecorator1 should be always between property.setter and thedecorator2)</p>
  
  <p>Is that possible in Python 3 ? </p>
  
  <pre><code>from functools import wraps
  
  class thedecorator1:
      def __init__ (self, idx):
          self.idx = idx
      def __call__ (self, func):
          @wraps(func)
          def wrapped(*args, **kwargs):
              print("thedecorator1", self.idx, args)
              return func(*args, **kwargs)
          return wrapped
  
  def thedecorator2(func):
      def _thedecorator2(self, *args, **kwargs):
          print("thedecorator2",args)
          return func(self, *args, **kwargs)
      return _thedecorator2
  
  class SomeClass:
      """That's te base class"""
      _some_property = None
  
      @property
      @thedecorator2
      def someproperty(self):
          return self._some_property
  
      @someproperty.setter
      @thedecorator1("xxx")
      @thedecorator2
      def someproperty(self, value):
          self._some_property = value  
  
  class AnotherClass(SomeClass):
      """That's what works, but I need to copy everything everytime"""
  
      _some_property = None
  
      @property
      @thedecorator2
      def someproperty(self):
          return self._some_property
  
      @someproperty.setter
      @thedecorator1("yyy")
      @thedecorator1("xxx")
      @thedecorator2
      def someproperty(self, value):
          self._someproperty = value
  
  class YetAnotherClass(SomeClass):
      """That's what I think I need"""
  
      dosomethingsmart(target = someproperty, decorator =  thedecorator1("yyy"), after=someproperty.setter)
  </code></pre>