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

Краткий обзор раздела: Модуль typing в Python, аннотации типов

Содержание с кратким описанием:

ОБЗОР: Модуль typing в Python, аннотации типов.
Модуль typing обеспечивает поддержку выполнения аннотации типов. Интерпретатор Python не проверяет и не принимает во внимание аннотации типов функций и переменных. Их могут использовать сторонние инструменты, такие как средства проверки типов, IDE, линтеры и т. д.
Аннотация Any модуля typing в Python.
Для типа typing.Any верны утверждения: - любой тип совместим с typing.Any; - тип typing.Any совместим со всеми типами.
Аннотации Never и NoReturn модуля typing в Python.
Аннотации typing.Never и typing.NoReturn могут быть использованы для определения переменных и функции, которые никогда не должны вызываться, или функции, которые никогда не возвращают.
Тип аннотации TypeAlias модуля typing в Python.
Новое в Python 3.10. Специальная аннотация typing.TypeAlias предназначена для явного объявления псевдонима типа. Устарел с версии Python 3.12
Аннотация LiteralString модуля typing в Python.
Аннотация typing.LiteralString полезна для конфиденциальных API. Строки, аннотированные LiteralString совместимы только друг с другом. Объект, типизированный просто как str, НЕ СОВМЕСТИМ с LiteralString. (добавлено в Python 3.11.)
Аннотация Self модуля typing в Python.
Аннотация typing.Self предоставляет простой и интуитивно понятный способ аннотировать методы, которые возвращают экземпляр своего класса.
Аннотации Required и NotRequired модуля typing в Python.
Аннотации Required и NotRequired - это аннотации предоставляют простой способ отметить обязательные/необязательные элементы для typing.TypedDict. Ранее это было возможно только с использованием наследования.
Тип аннотации Union модуля typing в Python.
Тип аннотации Union[] модуля typing представляет собой тип объединения typing.Union[X, Y], который означает либо X, либо Y. Чтобы определить аннотацию объединения, используйте, например, Union[int, str].
Тип аннотации Optional модуля typing в Python.
Запись Optional[X] эквивалентна записи Union[X, None]. Необязательный аргумент со значением по умолчанию не требует квалификатора Optional в аннотации его типа только потому, что он является необязательным.
Тип аннотации Tuple() модуля typing в Python.
Тип аннотации Tuple() модуля typing представляет собой тип кортежа. Запись Tuple[X, Y] - это тип кортежа из двух элементов, первый из которых имеет тип X, а второй - тип Y. Тип пустого кортежа может быть записан как Tuple[()].
Тип аннотации Callable() модуля typing в Python.
Тип аннотации Callable модуля typing применяется для типизации функций обратного вызова, для объектов, которые их ожидают. Синтаксис аннотации всегда должен использоваться ровно с двумя значениями: список аргументов и тип возвращаемого значения.
Тип аннотации Concatenate модуля typing в Python.
Тип аннотации typing.Concatenate используется с типами typing.Callable и typing.ParamSpec для аннотирования типа вызываемого объекта более высокого порядка, который добавляет, удаляет или преобразует параметры другого вызываемого объекта.
Класс ParamSpec модуля typing в Python.
Новое в Python 3.10. Класс ParamSpec() модуля typing представляет собой переменные спецификации аргументов. Специализированная версия переменной типа typing.TypeVar.
Тип аннотации TypeGuard модуля typing в Python.
TypeGuard нацелен на преимущество сужения типов - метод, используемый программами проверки статических типов для определения более точного типа выражения в потоке кода программы. Аннотация typing.TypeGuard принимает только один аргумент типа.
Класс Type() модуля typing в Python.
Переменная, аннотированная классом Type[C], может принимать значения, которые сами являются классами. Все подклассы аннотируемого класса, должны реализовывать ту же сигнатуру конструктора и сигнатуры методов класса, что этот класс.
Тип аннотации Literal модуля typing в Python.
Тип аннотации Literal модуля typing, может использоваться для указания контролерам типов, что соответствующая переменная или параметр функции имеет значение, эквивалентное предоставленному литералу или одному из нескольких литералов.
Тип аннотации ClassVar модуля typing в Python.
Тип аннотации ClassVar модуля typing представляет собой конструкцию специального типа для обозначения переменных класса.
Тип аннотации Final() модуля typing в Python.
Тип аннотации Final() модуля typing представляет собой конструкцию, указывающую контролерам типов, что переменной с данным именем не может быть повторно присвоено значение или эта переменная переопределена в подклассе.
Тип аннотации Annotated модуля typing в Python.
Тип аннотации Annotated() модуля typing представляет собой гибкие аннотации функций и переменных, для типизации существующих типов контекстно-зависимыми метаданными (возможно, несколькими их частями).
Тип аннотации Generic модуля typing в Python.
Тип аннотации Generic() модуля typing представляет собой абстрактный базовый класс для универсальных типов. Универсальный тип обычно объявляется путем наследования от экземпляра этого класса с одной или несколькими переменными типа.
Тип аннотации TypeVar модуля typing в Python.
Тип аннотации TypeVar() модуля typing представляет собой - возможные типы переменных. Типы переменных TypeVar существуют в первую очередь для целей проверки статических типов. Они служат параметрами для универсальных типов, а также для определений универсальных функций.
Аннотация TypeVarTuple модуля typing в Python.
Новое в Python 3.11. Модуль typing содержит аннотацию typing.TypeVar, которая позволяет создавать дженерики, параметризованные одним типом. В Python 3.11 добавлена аннотация typing.TypeVarTuple, которая позволяет параметризовать произвольное количество типов.
Тип аннотации Unpack модуля typing в Python.
Аннотация typing.Unpack (добавлена в Python 3.11) представляет собой оператор ввода, который концептуально помечает объект как распакованный.
Тип аннотации AnyStr модуля typing в Python.
Тип аннотации AnyStr модуля typing - это тип переменной, определенной как AnyStr = TypeVar('AnyStr', str, bytes). Этот тип аннотации предназначен для использования в функциях, которые могут принимать строки любого типа, при этом не позволяя смешивать разные типы строк.
Тип аннотации Protocol() модуля typing в Python.
Тип аннотации Protocol() модуля typing представляет собой базовый класс для классов протокола.
Декоратор @runtime_checkable модуля typing в Python.
Декоратор @runtime_checkable() модуля typing отмечает класс протокола как протокол времени выполнения. Декоратор вызывает исключение TypeError при применении его к непротокольному классу.
Тип аннотации NamedTuple модуля typing в Python.
Тип аннотации NamedTuple() модуля typing представляет собой типизированную версию класса collections.namedtuple().
Класс NewType модуля typing в Python.
Вспомогательный класс NewType модуля typing предназначена для указания отдельного подтипа, основного типа.
Тип аннотации TypedDict() модуля typing в Python.
Тип аннотации TypedDict() модуля typing представляет собой специальную конструкцию для добавления аннотаций типов в словарь. Во время выполнения это простой словарь dict.
Типы аннотаций коллекций модуля typing в Python.
Рассмотренные здесь последовательностей и коллекций соответствует встроенным типам Python.
Аннотация абстрактных базовых классов в Python.
Рассмотренные здесь типы аннотаций абстрактных базовых классов соответствуют встроенным коллекциям, представленным в модуле collections.abc. С версии Python 3.9 для всех рассмотренных типов аннотаций не рекомендован импорт из модуля typing
Функции и декораторы модуля typing в Python.
В разделе представлены функции и декораторы модуля typing, представляющие дополнительные возможности по аннотированию исходного кода.
Помощники самоанализа модуля typing в Python.
В разделе рассмотрены функции, которые помогают провести самоанализ проведенной типизации исходного кода программистом.
ParamSpecArgs и ParamSpecKwargs модуля typing в Python.
Новое в версии 3.10. Атрибут ParamSpec.args в ParamSpec является экземпляром ParamSpecArgs, а ParamSpec.kwargs - экземпляром ParamSpecKwargs.
Класс TypeAliasType модуля typing в Python.
Новое в Python 3.12. Тип псевдонимов типов, созданных с помощью оператора type.