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的区别内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python报错TypeError: ‘NoneType‘ object is not subscriptable的解决方法汇总

    Python报错TypeError: ‘NoneType‘ object is 

    在Python编程中,TypeError 是一个常见的错误,它表明代码中存在类型不匹配的问题,TypeError: 'NoneType' object is not subscriptable 是一个具体的例子,本文将探讨这个错误的原因,并提供几种解决方案,需要的朋友可以参考下
    2024-10-10
  • Python:Numpy 求平均向量的实例

    Python:Numpy 求平均向量的实例

    今天小编就为大家分享一篇Python:Numpy 求平均向量的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-06-06
  • Python之Trimesh库的使用方式

    Python之Trimesh库的使用方式

    这篇文章主要介绍了Python之Trimesh库的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06
  • python爬虫之爬取百度音乐的实现方法

    python爬虫之爬取百度音乐的实现方法

    今天小编就为大家分享一篇python爬虫之爬取百度音乐的实现方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • python实现启动一个外部程序,并且不阻塞当前进程

    python实现启动一个外部程序,并且不阻塞当前进程

    这篇文章主要介绍了python实现启动一个外部程序,并且不阻塞当前进程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • python使用if语句实现一个猜拳游戏详解

    python使用if语句实现一个猜拳游戏详解

    这篇文章主要介绍了python使用if语句实现一个猜拳游戏详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • Pyramid Mako模板引入helper对象的步骤方法

    Pyramid Mako模板引入helper对象的步骤方法

    ylons中的mako模板,默认会引入一个helper对象,我们可以在里面扩展方法,应对在模板输出时候会常用的操作,那么在Pyramid中如何默认引入同样的辅助类到模板中
    2013-11-11
  • Python实现清理重复文件功能的示例代码

    Python实现清理重复文件功能的示例代码

    在电脑上或多或少的存在一些重复文件,体积小的倒没什么,如果体积大的就很占内存了。本文用python制作了一个删除重复文件的小工具,核心代码很简单,希望对你有所帮助
    2022-07-07
  • python+numpy实现的基本矩阵操作示例

    python+numpy实现的基本矩阵操作示例

    这篇文章主要介绍了python+numpy实现的基本矩阵操作,结合实例形式分析了Python使用numpy模块针对矩阵进行创建、增删查改、索引、运算相关操作实现技巧,注释中包含有详细的说明,需要的朋友可以参考下
    2019-07-07
  • 使用python本地部署DeepSeek运行时报错 OSError: [WinError 193] %1 不是有效的 Win32 应用程序的问题及解决方法

    使用python本地部署DeepSeek运行时报错 OSError: [WinError 193] %1 不是

    文章介绍了在本地使用Python部署DeepSeek时遇到的OSError: [WinError 193] 错误,通过检查错误信息,发现与numpy版本有关,解决方法是卸载并重新安装numpy,最终,问题得到解决,感兴趣的朋友跟随小编一起看看吧
    2025-02-02

最新评论