Сообщить об ошибке.

Класс TypeAliasType модуля typing в Python

Тип псевдонимов типов в Python

Синтаксис:

import typing

# Новое в Python 3.12.
typing.TypeAliasType(name, value, *, type_params=())

Описание:

Класс typing.TypeAliasType() модуля typing представляет собой тип псевдонимов типов, созданных с помощью оператора type.

Пример использования:

>>> type Alias = int
>>> type(Alias)
# <class 'typing.TypeAliasType'>

Класс typing.TypeAliasType() имеет следующие атрибуты

TypeAliasType.__name__:

TypeAliasType.__name__ представляет собой имя псевдонима типа:

>>> type Alias = int
>>> Alias.__name__
# 'Alias'

TypeAliasType.__module__:

TypeAliasType.__module__ представляет собой имя модуля, в котором был определен псевдоним типа:

>>> type Alias = int
>>> Alias.__module__
# '__main__'

TypeAliasType.__type_params__:

TypeAliasType.__type_params__ представляет собой параметры типа псевдонима типа или пустой кортеж, если псевдоним не является универсальным:

>>> type ListOrSet[T] = list[T] | set[T]
>>> ListOrSet.__type_params__
# (T,)
>>> type NotGeneric = int
>>> NotGeneric.__type_params__
# ()

TypeAliasType.__value__:

TypeAliasType.__value__ представляет собой значение псевдонима типа. Вычисляется лениво, поэтому имена, используемые в определении псевдонима, не разрешаются до тех пор, пока не будет получен доступ к атрибуту __value__:

>>> type Mutually = Recursive
>>> type Recursive = Mutually
>>> Mutually
# Mutually
>>> Recursive
# Recursive
>>> Mutually.__value__
# Recursive
>>> Recursive.__value__
# Mutually