Рассмотренные здесь последовательностей и коллекций соответствует встроенным типам Python.
typing.Dict()
аннотация словарей (устарел начиная с Python 3.9),typing.List()
аннотация списков (устарел начиная с Python 3.9),typing.Set()
аннотация множеств (устарел начиная с Python 3.9),typing.FrozenSet()
аннотация неизменяемых множеств (устарел начиная с Python 3.9),typing.DefaultDict()
аннотация collections.defaultdict
(устарел начиная с Python 3.9),typing.OrderedDict()
аннотация collections.OrderedDict
(устарел начиная с Python 3.9),typing.ChainMap()
аннотация collections.ChainMap
(устарел начиная с Python 3.9),typing.Counter()
аннотация collections.Counter
(устарел начиная с Python 3.9),typing.Deque()
аннотация collections.deque
(устарел начиная с Python 3.9).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()
поддерживает синтаксис аннотации[]
. Смотрите встроенный "Тип псевдонима".