Anonymous
Pylint `arguments-differ` не применим к конструктору дочернего класса.
Сообщение
Anonymous » 20 ноя 2025, 19:59
Подумайте об этом
Код: Выделить всё
class Base:
def __init__(self, bar: bool, **kwargs) -> None:
self.bar = bar
def foo(self, bar: bool, **kwargs):
...
class Child(Base):
def __init__(self, bar: bool, bar2: int, **kwargs) -> None:
super().__init__(bar, **kwargs)
self.bar2 = bar2
def foo(self, bar: bool, *, bar2: int, **kwargs):
super().foo(bar, **kwargs)
...
Почему pylint вызывает это только в методе foo, а не в __init__?
W0221: количество параметров было 3 в «Base.foo», а теперь 4 в переопределении метода «Child.foo» (аргументы-различаются)
Подробнее здесь:
https://stackoverflow.com/questions/798 ... hild-class
1763657944
Anonymous
Подумайте об этом [code]class Base: def __init__(self, bar: bool, **kwargs) -> None: self.bar = bar def foo(self, bar: bool, **kwargs): ... class Child(Base): def __init__(self, bar: bool, bar2: int, **kwargs) -> None: super().__init__(bar, **kwargs) self.bar2 = bar2 def foo(self, bar: bool, *, bar2: int, **kwargs): super().foo(bar, **kwargs) ... [/code] Почему pylint вызывает это только в методе foo, а не в __init__? W0221: количество параметров было 3 в «Base.foo», а теперь 4 в переопределении метода «Child.foo» (аргументы-различаются) Подробнее здесь: [url]https://stackoverflow.com/questions/79825743/pylint-arguments-differ-not-applicable-to-constructor-of-a-child-class[/url]