TGViewer
Python community developers Python community developers @python_scrypt · 1.51K subscribers
Post #460 286
Протоколы

Термины "протокол итератора" или "протокол дескрипторов" уже привычны и используются давно. Но теперь можно описывать протоколы в виде кода и проверять их соответствие на этапе статического анализа.

Протокол описывается как обычный класс, наследующийся от Protocol. Он может иметь методы (в том числе с реализацией) и поля. Реальные классы, реализующие протокол могут наследоваться от него, но это не обязательно, как показано в примере.

Хоть это и не совсем интерфейсы, но все же классная штука. Еще важно, что протоколы, как и все остальные фишки аннотаций типов, используются в основном со статически типизированным mypy.

#typing #аннотации
More from @python_scrypt
  1. May 31, 2025⚡️ drawDB — удобный инструмент для проектирования баз данных Редактор диаграмм, работающий…
  2. May 30, 2025Более простой способ создания контекстных менеджеров Почти год назад на канале было объясн…
  3. May 29, 2025⚙️ Управление временем выполнения функций с помощью тайм-аутов в Python Иногда требуется о…
  4. May 28, 2025Naive В методе Naive цикл for используется для обхода второго списка. После этого элементы…
  5. May 27, 2025👨‍💻 Распознавание текста на изображении с помощью Python 🎞 Видеоурок с подключением кон…
  6. May 26, 2025➡️ Извлечение уникальных элементов из списка с сохранением порядка 🗣️ Обычно, когда нужно…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →