IDE не распознает, что сигнатура функции в подклассе соответствует базовому методу - PullRequest
0 голосов
/ 06 октября 2019

У меня есть базовый класс с функцией, которая переопределена в подклассах.
Сигнатура функции также (частично) изменена таким образом, что (насколько я понимаю) соответствует родительскому классу (например, добавлен дополнительный аргумент).
Однако в моей IDE (IntelliJ IDEA) отображается предупреждение о том, что подпись метода в подклассе не совпадает с сигнатурой базового метода.

Например:

class BaseFoo():
    def func(self, uid: int, *args, **kwargs):
        pass

class Foo(BaseFoo):
    def func(self, uid: int, name: str, *args, **kwargs):
        pass

Показывает это предупреждение:

Подпись метода 'Foo.func ()' не соответствует сигнатуре базового метода в классе 'BaseFoo'

Как мне написать эти классытаким образом, что позволит IDE распознать, что сигнатура функции в подклассе действительно совпадает с сигнатурой родительского класса?
То есть, предполагая, что они совпадают в моем примере (я ошибаюсь?), Не желая подавлять такого рода предупреждения (что если бы я пропустил uid arg?).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...