• Python-way и интерфейсы

    vvpoloskin
    @vvpoloskin
    Инженер связи
    Почему бы не попробовать интерфейсную часть сделать отдельным классом, запустить его во множественное наследование и проверять его вхождение в bases? Интерфейс у вас будет как миксин.
    Ответ написан
    2 комментария
  • Python-way и интерфейсы

    Tiendil
    @Tiendil
    Разработчик ПО.
    Из глоссария Питона

    Abstract base classes complement duck-typing by providing a way to define interfaces when other techniques like hasattr() would be clumsy or subtly wrong (for example with magic methods). ABCs introduce virtual subclasses, which are classes that don’t inherit from a class but are still recognized by isinstance() and issubclass(); see the abc module documentation. Python comes with many built-in ABCs for data structures (in the collections module), numbers (in the numbers module), and streams (in the io module). You can create your own ABCs with the abc module.

    Видимо, это то, что надо.

    От себя скажу, что не замечаю сильного увлечения ABC в сообществе (и вообще проверкой интерфейсов) — они скорее для стандартной библиотеки.
    Ответ написан
    5 комментариев