37 / 72
ТеорияСреднийMiddle-Senior

Protocol и структурная типизация

Частота на собеседованиях: Средняя - растущая тема на фоне FastAPI/pydantic-стекаСпрашивают в: Т-Банк, Яндекс

В уроке про абстрактные классы мы видели, что isinstance с ABC требует явного наследования - структурно похожий, но не унаследованный класс не проходит проверку. Protocol из модуля typing даёт противоположный подход: структурную типизацию, знакомую как "утиная типизация" (duck typing) - "если оно крякает как утка, значит это утка", неважно, от чего оно формально унаследовано.

Объявляем Protocol