Python 3.14+annotationlibфункция
annotationlib.type_repr()
строковое представление
Строковое представление значения в стиле аннотаций: для классов — имя без <class ...>, для прочего — обычный repr().
Синтаксис
annotationlib.type_repr(value)
Встроенные типы печатаются коротким именем ('int'), а пользовательские — с модулем ('__main__.Point'), так что результат зависит от того, где объявлен класс. Строку она оборачивает в кавычки как repr(), в отличие от annotations_to_string, которая строки не трогает. Удобна для сообщений об ошибках и отладочного вывода типов: str(list[int]) и так красив, а str(int) — нет.
Примеры
# Python 3.14+
from annotationlib import type_repr
class Point: ...
print(type_repr(int), str(int)) # → int <class 'int'>
print(type_repr(Point)) # → __main__.Point
print(type_repr(int | None), type_repr(...), type_repr('x')) # → int | None ... 'x'
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности