Возможно ли иметь абстрактный класс, наследуемый от другого абстрактного класса в Python?
Если да, то как мне это сделать?
Возможно ли иметь абстрактный класс, наследуемый от другого абстрактного класса в Python?
Если да, то как мне это сделать?
Взгляните на модуль abc
. Для версии 2.7: ссылка. Для версии 3.6: ссылка Простой пример:
from abc import ABC, abstractmethod
class A(ABC):
def __init__(self, value):
self.value = value
super().__init__()
@abstractmethod
def do_something(self):
pass
class B(A):
@abstractmethod
def do_something_else(self):
pass
class C(B):
def do_something(self):
pass
def do_something_else(self):
pass
pylint
или другого линтера. Насколько мне известно, единственный способ избавиться от предупреждения — это скопировать все абстрактные методы для каждого класса, который должен быть абстрактным. Однако, вероятно, лучше просто отключить это конкретное предупреждение.
- person amin_nejad; 22.06.2020