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.