P
python_practics
@python_practics5.6K подп.
1.7Kпросмотров
30.2%от подписчиков
13 ноября 2025 г.
📷 ФотоScore: 1.9K
Динамическая типизация с typing.Protocol в Python typing.Protocol из модуля typing позволяет задавать интерфейсы для классов без явного наследования, обеспечивая поддержку структурной типизации. Это особенно полезно для проверки совместимости объектов на основе их методов, а не явного наследования, что делает код более гибким. from typing import Protocol class Flyable(Protocol): def fly(self) -> None: pass # Классы, реализующие метод fly, автоматически считаются Flyable class Bird: def fly(self) -> None: print("Bird is flying") class Drone: def fly(self) -> None: print("Drone is flying") # Функция, принимающая любой объект, соответствующий Flyable def make_it_fly(obj: Flyable) -> None: obj.fly() # Тест bird = Bird() drone = Drone() make_it_fly(bird) # Bird is flying make_it_fly(drone) # Drone is flying 👍 - если было полезно @python_practics
1.7K
просмотров
904
символов
Нет
эмодзи
Да
медиа

Другие посты @python_practics

Все посты канала →
Динамическая типизация с typing.Protocol в Python typing.Pro — @python_practics | PostSniper