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

Python Senior Без компании
Что такое протокол
Ответы
В Python протокол — это неформальный интерфейс, определяющий набор методов, которые должен реализовать класс, чтобы поддерживать определенное поведение. В отличие от интерфейсов в других языках, протоколы не требуют явного наследования — достаточно просто реализовать нужные методы (утиная типизация). Примеры протоколов: - **Итерируемый** (`__iter__` или `__getitem__`) - **Контекстный менеджер** (`__enter__`, `__exit__`) - **Дескриптор** (`__get__`, `__set__`, `__delete__`) ``` class MyIterable: def __iter__(self): return iter([1, 2, 3]) # Работает, потому что реализован протокол итерации for item in MyIterable(): print(item) ``` Начиная с Python 3.8, протоколы можно формализовать через `typing.Protocol` для статической проверки типов.