I'm working on a python3 project where we use the typing
module type hints throughout.
It seems that we use typing.Dict
and typing.Mapping
pretty much interchangeably.
Is there a reason to prefer one over the other?
typing.Dict
should be used to indicate a literal dict
type with support for element type hinting i.e. Dict[bytes, str]
.
typing.Mapping
is an object which defines the __getitem__
, __len__
, __iter__
magic methods.
typing.MutableMapping
is an object which defines same as Mapping but with __setitem__
, __delitem__
magic methods as well.
typing.Mapping
et al. are based on the abc types in this table.