Встречается на собеседованиях • сегодня
Используешь ли Protocol из библиотеки typing в Python
Да, Protocol из typing полезен для структурной типизации (утиной типизации) без наследования. Он позволяет определять интерфейсы, которые классы могут реализовывать неявно.
Пример:
python
from typing import Protocol
class SupportsClose(Protocol):
def close(self) -> None: ...
class File:
def close(self) -> None:
print("File closed")
def close_resource(resource: SupportsClose) -> None:
resource.close()
file = File()
close_resource(file) # OK
text
**Плюсы:**
- Проверка типов через `mypy` без жесткого наследования.
- Гибкость: классы могут соответствовать `Protocol` без явного указания.
- Полезен для ABC-альтернатив и callback-типов.
Используется в типизированных API, например, для `Iterable`, `ContextManager` и др.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы