Встречается на собеседованиях • сегодня
Что такое Protocol из модуля typing в Python
Protocol — это абстрактный базовый класс (ABC) из модуля typing, который позволяет определять структурные подтипы (утиную типизацию) для статической проверки типов. Он используется для создания интерфейсов, которые классы могут реализовывать неявно, без явного наследования.
Пример:
python
from typing import Protocol
class Flyable(Protocol):
def fly(self) -> None:
...
class Bird:
def fly(self) -> None:
print("Flying!")
def make_it_fly(f: Flyable) -> None:
f.fly()
bird = Bird()
make_it_fly(bird) # OK, так как Bird реализует метод fly()Ключевые особенности:
- Не требует явного наследования
- Проверяется структурно (есть ли нужные методы/атрибуты)
- Поддерживает
@runtime_checkableдля проверки во время выполнения - Полезен для type hints без жесткой привязки к конкретным классам

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы