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

Типы аннотаций коллекций модуля typing в Python

Типизация базовых типов Python

Рассмотренные здесь последовательностей и коллекций соответствует встроенным типам Python.

Типы аннотаций базовых типов Python:


typing.Dict(dict, MutableMapping[KT, VT]):

Класс typing.Dict() представляет собой встроенную версию словаря dict.

Полезно для аннотирования возвращаемых типов. Для аннотирования аргументов предпочтительно использовать абстрактный тип коллекции, например Mapping.

Этот тип можно использовать следующим образом:

def count_words(text: str) -> Dict[str, int]:
    ...

Устарел начиная с Python 3.9: теперь встроенный тип dict поддерживает синтаксис аннотации []. Смотрите встроенный "Тип псевдонима".

typing.List(list, MutableSequence[T]):

Класс typing.List() представляет собой встроенную версию списка list.

Полезно для аннотирования возвращаемых типов. Для аннотирования аргументов предпочтительно использовать абстрактный тип коллекции, такой как Sequence или Iterable.

Этот тип может быть использован следующим образом:

T = TypeVar('T', int, float)

def vec2(x: T, y: T) -> List[T]:
    return [x, y]

def keep_positives(vector: Sequence[T]) -> List[T]:
    return [item for item in vector if item > 0]

Устарел начиная с Python 3.9: теперь встроенный тип list поддерживает синтаксис аннотации []. Смотрите встроенный "Тип псевдонима".

typing.Set(set, MutableSet[T]):

Класс typing.Set() представляет собой встроенную версию множества set.

Полезно для аннотирования возвращаемых типов. Для аннотирования аргументов предпочтительно использовать абстрактный тип коллекции, такой как AbstractSet.

Устарел начиная с Python 3.9: теперь основной встроенный тип set поддерживает синтаксис аннотации []. Смотрите встроенный "Тип псевдонима".

typing.FrozenSet(frozenset, AbstractSet[T_co]):

Класс typing.FrozenSet() представляет собой встроенную версию неизменяемого множества frozenset.

Устарел начиная с Python 3.9: теперь основной встроенный тип frozenset поддерживает синтаксис аннотации []. Смотрите встроенный "Тип псевдонима".

Note Tuple is a special form.Corresponding to types in collections

typing.DefaultDict(collections.defaultdict, MutableMapping[KT, VT]):

Класс typing.DefaultDict() A generic version of collections.defaultdict.

Устарел начиная с Python 3.9: теперь collections.defaultdict() поддерживает синтаксис аннотации []. Смотрите встроенный "Тип псевдонима".

typing.OrderedDict(collections.OrderedDict, MutableMapping[KT, VT]):

Класс typing.OrderedDict() представляет собой встроенную версию collections.OrderedDict.

Устарел начиная с Python 3.9: теперь collections.OrderedDict() поддерживает синтаксис аннотации []. Смотрите встроенный "Тип псевдонима".

typing.ChainMap(collections.ChainMap, MutableMapping[KT, VT]):

Класс typing.ChainMap() представляет собой встроенную версию collections.ChainMap.

Новое в Python 3.6.1.

Устарел начиная с Python 3.9: теперь collections.ChainMap() поддерживает синтаксис аннотации []. Смотрите встроенный "Тип псевдонима".

typing.Counter(collections.Counter, Dict[T, int]):

Класс typing.Counter() представляет собой встроенную версию collections.Counter.

Новое в Python 3.6.1.

Устарел начиная с Python 3.9: теперь collections.Counter() поддерживает синтаксис аннотации []. Смотрите встроенный "Тип псевдонима".

typing.Deque(deque, MutableSequence[T]):

Класс typing.Deque() представляет собой встроенную версию collections.deque.

Новое в Python 3.6.1.

Устарел начиная с Python 3.9: теперь collections.deque() поддерживает синтаксис аннотации []. Смотрите встроенный "Тип псевдонима".