У меня есть абстрактный базовый класс, Animal
:
class Animal(metaclass=abc.ABCMeta):
@abc.abstractmethod
def move(self):
raise NotImplementedError()
@abc.abstractmethod
def eat(self):
raise NotImplementedError()
Теперь у меня есть другой abc, который реализует только один из этих методов:
class Bird(Animal):
def move(self):
print("fly")
Другой класс, который реализует отсутствующий метод:
class Eagle(Bird):
def eat(self):
print("eagle eats")
Но PyCharm жалуется на Bird
, что он "должен реализовывать все абстрактные методы", когда я намеренно хочу, чтобы он оставался абстрактным.
Я что-то упустил, или это ошибка? Если это просто ошибка, могу ли я как-то проигнорировать предупреждение (аналогично #noqa
)?