Появился PEP 835, который предлагает сократить запись Annotated. Если пишете на Pydanti... — 23 июня 2026 г. в 16:56:52.364
Появился PEP 835, который предлагает сократить запись Annotated. Если пишете на Pydantic, FastAPI, Typer или SQLModel, вы видели это каждый день: id: Annotated\[int, Field\(gt=0\)\] name: Annotated\[str, Field\(min\_length=3\)\] PEP предлагает оператор @ для метаданных типа: id: int @ Field\(gt=0\) name: str @ Field\(min\_length=3\) Та же Annotated, просто запись короче. Детали из предложения: 🔘@ связывает сильнее, чем |: запись int | str @ Meta читается как int | Annotated\[str, Meta\], а для объединения с метаданными нужны скобки \(int | str\) @ Meta; 🔘цепочка T @ m1 @ m2 разворачивается в плоскую Annotated\[T, m1, m2\], без вложенности; 🔘под капотом появляется встроенный тип types.AnnotatedType на C, а typing.Annotated станет ссылкой на него; 🔘старая форма Annotated\[X, Y\] никуда не денется, остаётся для совместимости. Сокращение нацелено на Python 3.16, до этого его можно будет пробовать через typing\_extensions. @zen_of_python

