Python type hints: typing.Mapping vs. typing.Dict
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?
Managed to answer this myself.
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