декоратор класса нарушает наследование (python2.7)
Я получаю сообщение об ошибке, когда пытаюсь использовать декоратор класса для унаследованного метода
class _MyDec(object):
def __init__(self, func):
self.func = func
def __call__(self, *args, **kwargs):
return self.func(self, *args, **kwargs)
class _MyObj(object):
def func(self):
return 10
class _MyChild(_MyObj):
@_MyDec
def func(self):
return super(_MyChild, self).func()
_child = _MyChild()
_child.func()
это ошибка:
# super(_MyChild, self).func()
# TypeError: super(type, obj): obj must be an instance or subtype of type
Есть ли способ собрать _MyDec, не нарушая супервызова?