TGViewer
Zen of Python Zen of Python @zen_of_python · 18.8K subscribers
Post #4761 3.2K
PEP 747 принят. В typing добавится TypeForm[T] — способ аннотировать аргументы, которые принимают не значения, а сами типы: int | str, list[int], TypedDict и другие.

Раньше функции вроде trycast() или is_match() из библиотек beartype, pydantic, typeguard приходилось аннотировать через object, слишком широко, без проверки типов.

Теперь можно так:
def trycast[T](typx: TypeForm[T], value: object) -> T | None: ...
def is_match[T](value: object, typx: TypeForm[T]) -> TypeGuard[T]: ...

# Или просто переменная:
int_form: TypeForm = int | None


В Python приедет с версии 3.15. Уже сейчас доступно через typing_extensions. Экспериментальная поддержка есть в Pyright

@zen_of_python

Telegram | Max
  • 👍 10
  • ❤ 1
More from @zen_of_python
  1. Sep 21, 2026Как точечно сравнивать скорость функций Python с tprof Профилировщик помогает найти медлен…
  2. Sep 21, 2026Как писать Python-скрипты, которые удобно запускать в пайплайнах В разборе Bite code! собр…
  3. Sep 21, 2026Как упаковать Go-бинарник в wheel и подключить к Python PyPI может раздавать не только Pyt…
  4. Sep 20, 2026Как collections.deque хранит элементы блоками У deque два конца, поэтому легко представить…
  5. Sep 20, 2026Что ускоряет django-msgspec в Django и где он расходится с json django-msgspec заменяет ко…
  6. Sep 20, 2026Почему миллион чисел в Python занимает 35 МБ Список из миллиона целых, которые помещаются…
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 →