Python 3.12+typingпонятие
typing.TypeAliasType
обобщения и параметры
Тип объектов, создаваемых инструкцией `type X = ...` (псевдонимы типов; Python 3.12+).
Синтаксис
type X = int # X — экземпляр TypeAliasType
Обычно экземпляры создаёт инструкция type X = ... (PEP 695); конструктор TypeAliasType(name, value) появился в той же 3.12 и нужен, когда псевдоним создаётся во время выполнения; для версий до 3.12 его берут из typing_extensions. У инструкции type правая часть вычисляется лениво — только при обращении к X.__value__, — поэтому псевдоним может ссылаться на ещё не определённые имена или на самого себя (рекурсивные типы) без кавычек-строк.
Примеры
from typing import TypeAliasType
type MyInt = int
print(isinstance(MyInt, TypeAliasType)) # → True
print(MyInt.__name__) # → MyInt
print(MyInt.__value__) # → <class 'int'>
print(MyInt is int) # → False
type Vector = list[float]
print(Vector.__value__) # → list[float]
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности