Обязательные атрибуты в интерфейсах Python
Как при создании "интерфейсов" в Python назначить обязательные атрибуты/свойства для классов, которые этот интерфейс реализуют?
Допустим, обязательные методы реализуются через @abc.abstractmethod. Класс без них падает с ошибкой при инициализации.
*Вижу что раньше был декоратор @abc.abstractproperty, но сейчас он помечен как deprecated...
Ответы (1 шт):
Автор решения: Amgarak
→ Ссылка
@property
@abstractmethod
def my_property(self):
pass
Можно попробовать задать сразу два декоратора.