我正在开发一个 python3 项目,我们在整个项目中使用
typing
模块类型提示。
看来我们几乎可以互换使用
typing.Dict
和 typing.Mapping
。
有理由选择其中一种而不是另一种吗?
我自己设法回答了这个问题。
typing.Dict
应用于指示文字 dict
类型,支持元素类型提示,即 Dict[bytes, str]
typing.Mapping
是一个定义了 __getitem__,__len__,__iter__
魔法方法的对象
typing.MutableMapping
是一个与 Mapping 定义相同的对象,但也具有 __setitem__,__delitem__
魔术方法。
打字。映射等。基于此表
中的 abc 类型根据官方 Python (3.11) 文档的建议,
typing.Dict
是注释返回类型的首选。要注释参数,最好使用抽象集合类型,例如 Mapping
。
此外,
typing.Dict
自 3.9 版本以来已被弃用。赞成dict
。