декоратор класса нарушает наследование (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, не нарушая супервызова?

0 ответов

Другие вопросы по тегам