Обязательные атрибуты в интерфейсах Python

Как при создании "интерфейсов" в Python назначить обязательные атрибуты/свойства для классов, которые этот интерфейс реализуют?

Допустим, обязательные методы реализуются через @abc.abstractmethod. Класс без них падает с ошибкой при инициализации.

*Вижу что раньше был декоратор @abc.abstractproperty, но сейчас он помечен как deprecated...


Ответы (1 шт):

Автор решения: Amgarak
@property
@abstractmethod
def my_property(self):
   pass

Можно попробовать задать сразу два декоратора.

→ Ссылка