typing.Dict和Dict的区别及它们在Python中的用途小结

 更新时间:2023年06月15日 09:25:33   作者:火焰兔  
当在 Python 函数中声明一个 dictionary 作为参数时,我们一般会把 key 和 value 的数据类型声明为全局变量,而不是局部变量。,这篇文章主要介绍了typing.Dict和Dict的区别及它们在Python中的用途小结,需要的朋友可以参考下

当在 Python 函数中声明一个 dictionary 作为参数时,我们一般会把 key 和 value 的数据类型声明为全局变量,而不是局部变量。

如果我们需要将字典的键和值的数据类型声明为一个局部变量,该怎么办?这篇文章讨论了我们如何使用typing.Dict 的类型提示,并将其与通常的dict 函数区分开来。

typing.Dict 和dict 之间的区别以及它们在 Python 中的用途

在 Python 函数中声明一个字典作为参数时,使用typing.Dict 和普通的dict 在现实世界中没有区别。

然而,typing.Dict 函数是一个通用类型的函数,可以让我们指定键和值的数据类型,使其更加灵活。

此外,由于我们不能静态地推断容器中通用保存的对象的类型信息,抽象基类已经被扩展,以支持订阅来表示容器元素的通用类型。

def exampleFunction(typing.Dict[str, int])

例如,在我们项目生命周期的某一时刻,我们想更精确地定义字典参数,此时将typing.Dict 扩展为typing.Dict[key_type, value_type] 比用dict() 替换整个字典是更小的改变。

我们可以通过使用Mapping 或MutableMapping 类型使我们的字典更通用。dictionary 是一种映射,但是我们可以创建满足映射接口的其它对象。

def exampleFunction(typing.Mapping[str,int])

注意,Python 并不强制执行类型提示。它们只是提示,并不用于在运行时或编译时实现类型。

然而,如果我们使用 Python 3.9 及以上版本,Python 已经废弃了typing.Dict ,而是在内置的dict() 命令中强制执行类型提示。我们可以在 Python 中声明一个字典时指定类型。

def exampleFunction(dict[str,int])

到此这篇关于typing.Dict和Dict的区别及它们在Python中的用途小结的文章就介绍到这了,更多相关typing.Dict和Dict的区别内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • django认证系统 Authentication使用详解

    django认证系统 Authentication使用详解

    这篇文章主要介绍了django认证系统 Authentication使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • python __init__与 __new__的区别

    python __init__与 __new__的区别

    本文主要介绍了python __init__与 __new__的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • python中利用队列asyncio.Queue进行通讯详解

    python中利用队列asyncio.Queue进行通讯详解

    asyncio是Python 3.4版本引入的标准库,直接内置了对异步IO的支持。 下面这篇文章主要给大家介绍了关于python中利用队列asyncio.Queue进行通讯的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下。
    2017-09-09
  • Python 将Matrix、Dict保存到文件的方法

    Python 将Matrix、Dict保存到文件的方法

    今天小编就为大家分享一篇Python 将Matrix、Dict保存到文件的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10
  • Python 3中print函数的使用方法总结

    Python 3中print函数的使用方法总结

    这篇文章主要给大家总结介绍了关于Python 3中print函数的使用方法,python3中的print函数和之前版本的用法相差很多,本文通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-08-08
  • python实现堆栈与队列的方法

    python实现堆栈与队列的方法

    这篇文章主要介绍了python实现堆栈与队列的方法,包含了堆栈与队列的定义方法及常用操作,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-01-01
  • Python中的QPixmap用法详解

    Python中的QPixmap用法详解

    QPixmap主要用于绘图,针对图像显示而最佳化设计,这篇文章主要介绍了Python中的QPixmap用法,对QPixmap使相关知识感兴趣的朋友一起看看吧
    2023-03-03
  • Python用 matplotlib 绘制柱状图

    Python用 matplotlib 绘制柱状图

    这篇文章主要介绍了Python如何用 matplotlib 绘制柱状图,文章对matplotlib模块中详细学习绘制各种柱状图标相关属性和方法,在遇到需要直观展示离散数据点的差异时,我们可以使用bar()或者barh()绘制美观的图表。具有一定的参考价值,需要的朋友可以参考一下
    2021-12-12
  • Python实现迷宫生成器的详细代码

    Python实现迷宫生成器的详细代码

    这篇文章主要介绍了Python实现迷宫生成器的详细代码,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-07-07
  • Python 高级库15 个让新手爱不释手(推荐)

    Python 高级库15 个让新手爱不释手(推荐)

    对于初学者来说,这是一种简单易学的编程语言;另一个原因:大量开箱即用的第三方库,正是 23 万个由用户提供的软件包使得 Python 真正强大和流行,本文给大家分享15 个让新手爱不释手Python 高级库的相关知识,感兴趣的朋友一起看看吧
    2021-05-05

最新评论