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

Используешь ли 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` и др.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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