from typing import TypeAlias # Новое в Python 3.10 Factors: TypeAlias = list[int]
typing.TypeAlias
.Класс typing.TypeAlias
представляет собой специальную аннотацию для явного объявления псевдонима типа.
Устарел с версии Python 3.12:
typing.TypeAlias
устарел в пользу оператораtype
, который создает экземплярыtyping.TypeAliasType
и изначально поддерживает прямые ссылки. Обратите внимание: хотяTypeAlias
иTypeAliasType
служат схожим целям и имеют схожие имена, они различны, и последний не является типом первого. УдалениеTypeAlias
в настоящее время не планируется, но пользователям рекомендуется перейти на операторtype
.
TypeAlias
особенно полезен в старых версиях Python для аннотирования псевдонимов, использующих прямые ссылки, т.к. средствам проверки типов может быть сложно отличить их от обычных назначений переменных:
from typing import Generic, TypeAlias, TypeVar T = TypeVar("T") # "Box" еще не существует, поэтому нужно использовать # кавычки для прямой ссылки на Python < 3.12. # Использование `TypeAlias` сообщает средству проверки типов, # что это объявление псевдонима типа, а не присвоение переменной строке. BoxOfStrings: TypeAlias = "Box[str]" class Box(Generic[T]): @classmethod def make_box_of_strings(cls) -> BoxOfStrings: ...
Новое в Python 3.10.