Junior — Middle
84
Օգտագործում եք արդյոք typing մոդուլի Protocol-ը ձեր Python նախագծերում?
Պատասխան 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 помогает писать более гибкий и типобезопасный код.