当在 Python 函数中将字典声明为参数时,我们通常会将键和值数据类型声明为全局变量,而不是局部变量。
如果我们需要将字典键和值的数据类型声明为局部变量怎么办? 本文讨论如何将类型提示与 Typing.Dict 结合使用,并将其与通常的 dict 函数区分开来。
在 Python 函数中将字典声明为参数时,使用 Typing.Dict 和普通 dict 之间没有实际差异。
然而,typing.Dict函数是一个通用类型函数,它允许我们指定键和值的数据类型,使其更加灵活。
此外,由于我们无法静态推断通常保存在容器中的对象的类型信息,因此抽象基类已扩展为支持订阅来表示容器元素的常见类型。
def exampleFunction(typing.Dict[str, int])
例如,在项目生命周期的某个时刻,我们想要更精确地定义字典参数,此时将 Typing.Dict 扩展为 Typing.Dict[key_type, value_type]
是比用整个字典替换更小的更改 字典()。
我们可以通过使用 Mapping 或 MutableMapping 类型使我们的字典更加通用。 字典是一种映射,但我们可以创建满足映射接口的其他对象。
def exampleFunction(typing.Mapping[str,int])
请注意
,Python 不强制执行类型提示。 它们只是提示,不用于在运行时或编译时实现类型。
但是,如果我们使用 Python 3.9 及更高版本,Python 已弃用 Typing.Dict,而是在内置 dict()
命令中强制执行类型提示。 我们可以在Python中声明字典时指定类型。
def exampleFunction(dict[str,int])