Встречается на собеседованиях • сегодня

Что такое протокол

В Python протокол — это неформальный интерфейс, определяющий набор методов, которые должен реализовать класс, чтобы поддерживать определенное поведение. В отличие от интерфейсов в других языках, протоколы не требуют явного наследования — достаточно просто реализовать нужные методы (утиная типизация).

Примеры протоколов:

  • Итерируемый (__iter__ или __getitem__)
  • Контекстный менеджер (__enter__, __exit__)
  • Дескриптор (__get__, __set__, __delete__)
python
class MyIterable:
    def __iter__(self):
        return iter([1, 2, 3])

# Работает, потому что реализован протокол итерации
for item in MyIterable():
    print(item)

Начиная с Python 3.8, протоколы можно формализовать через typing.Protocol для статической проверки типов.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы