Back to questions
Junior — Middle
63
Применяете ли вы Protocol из модуля typing в своих Python-проектах?
Answer from AI
sobes.tech AI
Да, я использую Protocol из модуля typing в Python для определения интерфейсов без необходимости наследования. Protocol позволяет описать набор методов и атрибутов, которые должен реализовать класс, что удобно для статической типизации и проверки соответствия интерфейсу.
Пример использования Protocol:
from typing import Protocol
class SupportsClose(Protocol):
def close(self) -> None:
...
class Resource:
def close(self) -> None:
print("Resource closed")
def cleanup(resource: SupportsClose) -> None:
resource.close()
res = Resource()
cleanup(res) # Работает, так как Resource реализует метод close
Таким образом, Protocol помогает писать более гибкий и типобезопасный код.