Определение метода Mypy несовместимо с определением в базовом классе - PullRequest
0 голосов
/ 27 октября 2018

У меня есть родительский класс, который что-то делает, и два дочерних класса, которые оборачивают метод ортогональными способами. Когда я пытаюсь объединить два дочерних класса, mypy жалуется на следующую ошибку.

Определение «run» в базовом классе «Foo» несовместимо с определение в базовом классе "Бар"

Как эти два класса "несовместимы" и как мне изменить мой код, чтобы успокоить mypy? Могу ли я сделать это без

class Parent:
    def run(self, a, b):
        pass


class Foo(Parent):
    def run(self, a, b, foo=None, **kwargs):
        print('foo', foo)
        super().run(a, b, **kwargs)


class Bar(Parent):
    def run(self, a, b, bar=None, **kwargs):
        print('bar', bar)
        super().run(a, b, **kwargs)


class C(Foo, Bar):
    pass
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...