TGViewer
Python Academy Python Academy @python_academy · 44.2K subscribers
Post #1911 5.44K
Протоколы

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

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

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

#typing #аннотации
  • 👍 6
More from @python_academy
  1. Sep 29, 2026Typeshed Typeshed — это коллекция заглушек (stubs) для стандартной библиотеки Python, библ…
  2. Sep 28, 2026SCons SCons — это современная система сборки программного обеспечения, основанная на Pytho…
  3. Sep 27, 2026Что такое глубокая копия? Глубокая копия используется для хранения значений, которые уже с…
  4. Sep 26, 2026Pyrogram: Работа с Telegram API на Python Pyrogram - это выдающаяся библиотека на Python,…
  5. Sep 25, 2026Функция reload() Функция reload() в Python перезагружает ранее импортированный модуль. Это…
  6. Sep 24, 2026FFmpeg: Лучшее решение для обработки мультимедийных файлов FFmpeg - это бесплатная и откры…
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 →