Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Python的类型提示

Python的类型提示

作者头像
fem178
发布于 2020-06-30 10:13:59
发布于 2020-06-30 10:13:59
1K0
举报

Python 是动态类型的编程语言,这就意味着我们不需要在代码中指定数据类型。但是这么做有时候容易让人困惑,此时灵活性就成为了缺点。

从 3.5 版本开始,我们可以指定类型,但是仍然非常麻烦。3.9版本对此进行了改进,大家看下面的这个例子:

▲左侧没有类型提示, 右侧有类型提示

由于某个神秘的原因,我们想通过上图所示的 add_int 函数,将相同的数字相加到一起。但是编辑器并不能很好地领会我们的意图,由于两个字符串也可以使用 + 进行连接所以并没有给出警告。

现在我们可以指定函数的参数类型为 int,编辑器就能够立即识别出上述问题。

通过类型提示,我们还能看到非常具体的类型,例如:

任何地方都可以使用类型提示,由于有了新的语法支持,看起来清爽多了。

上图我们将 sum_dict 函数的参数定义为字典类型,将其返回值定义为 int 类型。test 的定义时也指定了类型。

C++可用auto声明变量类型,让编译器去判断。python又搞类型提示。感觉是“动态语言静态化,静态语言动态化”。不过,python加的是类型提示又不是类型声明,跟静态语言还是有区别的。类型提示对调试、维护都有帮助。

PS: Python 发布了版本号为 3.9.0b3 的 beta 版,Python 3.9 的正式版预计10月发布。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-06-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数值分析与有限元编程 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Python 3.9 也要来了?
Python 发布了版本号为 3.9.0b3 的 beta 版,后续即将发布 Python 3.9 的正式版。该版本包含了一些令人兴奋的新特性,预计正式版发布以后这些特性能够被大家广泛使用。
数据森麟
2020/07/13
4700
Python3.9正式版即将发布,来看看新特性
Python 正在一直马不停蹄地更新,历时数月,我们迎来了又一个 Beta 版 —— 3.9.0b3,Python 3.9 正式版已经不远了,一起来看它带来了哪些值得开发者关注的重要新特性!
刘早起
2020/07/01
7090
Python3.9正式版即将发布,来看看新特性
Python3.9 终于来了,新功能详细介绍
虽然字符串函数并没有其他特性那么“伟大”,由于非常实用,也值得在这里一提。新版本中添加了移除前缀和后缀的两个字符串函数:
行哥玩Python
2020/07/14
5020
[oeasy]python0050_动态类型_静态类型_编译_运行
动态类型_静态类型 回忆上次内容 上次了解了 帮助文档的 生成 开头的三引号注释 可以生成 帮助文档 文档 可以写成网页 python3 本身 也有 在线的帮助手册 目前的程序 提高了 可读性 有什么方法 可以让程序 更可读么?🤔 变量名 首先 在变量名上想办法 名字 本身就有某些含义 具有某些可读性 可以把 a 换成 apple :4,10s/a/apple/gc 过程中需要用Y/n进行确认 b 换成 banana :11,17s/b/banana/
oeasy
2023/05/09
4150
[oeasy]python0050_动态类型_静态类型_编译_运行
[oeasy]python0070_动态类型_静态类型_编译_运行_匈牙利命名法
oeasy
2023/07/03
1790
[oeasy]python0070_动态类型_静态类型_编译_运行_匈牙利命名法
golang基础(一)go的特点、数据类型以及变量的定义
静态类型语言:与动态类型语言刚好相反,它的数据类型检查发生在在编译阶段,也就是说在写程序时要声明变量的数据类型。C/C++、C#、Java都是静态类型语言的典型代表。
GH
2020/03/25
1.6K0
通俗的方式理解动态类型,静态类型;强类型,弱类型
引言 今天和一个朋友讨论 C++ 是强类型还是弱类型的时候,他告诉我 C++ 是强类型的,他和我说因为 C++ 在写的时候需要 int,float 等等关键字去定义变量,因此 C++ 是强类型的,我告诉他 C++ 是弱类型的他竟然还嘲笑我不懂基础。 我又尝试去问了另外一个同学 Python 是强类型还是弱类型的时候,得到的竟然是弱类型,就因为定义变量没有 int,float! 然后我想找一些网上的资料试图告诉他们他们是错的(我是对的),结果发现网上的资料大多为了严谨结果把简单的问题(其实并不简单)说的很
桃翁
2018/06/27
2.4K0
[oeasy]python075_什么是_动态类型_静态类型_强类型_弱类型_编译_运行
age = 1 print(age, type(age)) age = "1" print(age, type(age))
oeasy
2025/03/18
1141
[oeasy]python075_什么是_动态类型_静态类型_强类型_弱类型_编译_运行
Python 3.9 有哪些新特性
又到了推出Python新版本的时候啦~我们已经看到 Python 3.9.1 的完整版本。一些最新特性非常惊艳,我们将介绍以下内容:
溪歪歪
2021/01/04
1.3K0
Python 3.9 有哪些新特性
如何更好的使用 Python 的类型提示?
使用动态语言一时爽,代码重构火葬场。相信你一定听过这句话,和单元测试一样,虽然写代码的时候花费你少量的时间,但是从长远来看,这是非常值得的。本文分享如何更好的理解和使用 Python 的类型提示。
somenzz
2022/10/25
1.7K0
如何更好的使用 Python 的类型提示?
让你的Python代码拥有类型提示
该文章讲述了如何在Python 3.6中通过PEP 484和PEP 526为编辑器提供类型提示,介绍了变量注解和函数注解两种类型提示的使用方法。同时介绍了标准库typing及其相关模块的使用,并使用标准库typing对自定义类型进行了类型注解。
乐百川
2018/01/09
1.3K0
Python类型注解
函数定义似乎变得复杂些了:多出来这些 str 、 -> 都是什么意思?有什么作用?
chuchur
2023/03/31
5990
Python类型注解
简单聊聊Python的类型系统
这篇文章实际是The Ultimate Guide to Python Type Checking文的导读和个人理解,有不当之处,以原文为准。内容分为四个部分:
哒呵呵
2019/01/23
1.3K0
Python 进阶指南(编程轻松进阶):十一、注释、文档字符串和类型提示
注释、文档字符串和类型提示帮助你保持代码的可读性。注释是简单明了的简短解释,你直接写在源代码中,计算机会忽略它们。注释为那些没有编写代码的人提供了有用的注释、警告和提醒,或者有时甚至为将来代码的程序员提供了帮助。几乎每个程序员都问过自己,“谁写了这些不可读的东西?”却发现答案是,“我做的。”
ApacheCN_飞龙
2023/04/09
1K0
Python 进阶指南(编程轻松进阶):十一、注释、文档字符串和类型提示
Python 3.9 值得关注的更新点
2020年8月19日,Python 最新释放bate版本 3.9.0rc1,呼之欲出的新版,提前来看看吧~
生信菜鸟团
2020/08/28
5410
Python 3.9 值得关注的更新点
【Python】动态与静态的较量:深入探讨Python的动态类型机制与类型提示的应用
Python的动态类型系统是其灵活性和广泛适用性的重要因素,但在大型项目中,类型安全问题也可能带来隐患和复杂性。本文深入解析Python的动态类型机制,探讨类型提示(type hints)如何改善代码的可读性与可维护性,并详细介绍静态类型检查工具——mypy。在大量示例代码中,我们将展示如何通过类型提示减少错误,提升开发效率,确保项目在开发过程中的安全性与稳定性。同时,本文将通过代码片段与中文注释,帮助读者理解如何在Python项目中使用mypy实现动态与静态类型的平衡。这种结合不仅能够减少运行时错误,还能提升团队协作和代码可读性,使Python在大型项目中更具优势。让我们一同探索如何在Python的动态类型世界中,以更“静态”的方式实现灵活与安全的结合。
蒙娜丽宁
2025/01/01
1821
【Python】动态与静态的较量:深入探讨Python的动态类型机制与类型提示的应用
Python类型注解
有句话说的好,“动态一时爽,重构火葬场”。因此,python在3.5版本的时候引入了类型注解,以方便静态类型检查工具,IDE等第三方工具。例如,在vscode中只要你安装了python相关的插件之后,当你在编写如下的代码的时候,是没有任何提示的。
zy010101
2022/05/05
6910
Python -类型提示 Type Hints
由于不知道参数 s 是什么类型,所以当你敲 s. 的时候不会出现 split 的语法提示
小菠萝测试笔记
2021/08/19
5110
Python -类型提示 Type Hints
深入理解 Python 的类型提示
然而,关于他们究竟是什么(在本文中,我暂且称他们为提示)、他们会如何使你的代码受益,仍然有许多让人困惑不解的地方。
程序员小新
2022/01/04
1.3K0
介绍几款 Python 类型检查工具
微软在 Github 上开源了一个 Python 静态类型检查工具:pyright ,引起了社区内的多方关注。
一墨编程学习
2019/05/15
7810
推荐阅读
相关推荐
Python 3.9 也要来了?
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档