У меня есть базовый класс с функцией, которая переопределена в подклассах.
Сигнатура функции также (частично) изменена таким образом, что (насколько я понимаю) соответствует родительскому классу (например, добавлен дополнительный аргумент).
Однако в моей 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?).