全国免费咨询:

13245491521

VR图标白色 VR图标黑色
X

中高端软件定制开发服务商

与我们取得联系

13245491521     13245491521

2021-10-12_错误调试精确到行、match-case模式匹配……Python 3.10正式版真的很友好

您的位置:首页 >> 新闻 >> 行业资讯

错误调试精确到行、match-case模式匹配……Python 3.10正式版真的很友好 机器之心报道编辑:陈萍、杜伟几天前,Python 3.10 正式版终于发布了。这次,想必每个程序员都会爱上它。 Python 是当今最流行的编程语言之一,已被广泛用于各种领域和应用,从学习计算机科学的基础知识到执行复杂而直接的科学计算任务,再到构建游戏,它的影子无处不在。Python 甚至应用于数据科学和量子计算等更高级的领域。 2020 年 11 月,Python 3.10 第二个 alpha 版本发布,在类型注释扩展、zip、位计数、字典映射有了新的改进。今年 4 月,Python 3.10 beta 版发布,最大的亮点就是引入了 switch-case 语句。之后,Python 又陆续发布了几个 beta 和 rc(Release Candidate)版本。 10 月 4 日,Python 官方终于发布了 Python 3.10 正式版。新版本中,Python 添加了一些独特且有价值的特性,同时删除了一些旧特性。有人总结出了 3.10 版本的三大重要特性,分别是: 更好的错误跟踪; match-case 结构模式匹配; 新型 Union 运算符。 法国学者 Thibault Clerice 表示,「随着 Python 3.10 的发布,每个程序员都会爱上新的『结构模式匹配』功能。」 对于 Python 3.10 的新特性,威斯康星大学麦迪逊分校统计学助理教授、畅销书籍《Python Machine Learning》的作者 Sebastian Raschka 表示,「新特性中最令人兴奋的是改进的错误信息提示,像缺少逗号或拼写错误等小的错误,现在很容易被发现。」 此外,有网友表示,Python 3.10 已经提供了适配 Linux 和 macOS 系统的 psycopg2 二进制包,但 Windows 系统尚未适配好。 庆应大学量子计算博士生 Sara A. Metwalli 更是撰文对 Python 3.10 的全新特性进行了全面的整理,总结出了以下六大新特性和附件组件。 Python 3.10 最新特性 特性 1:更好的错误跟踪 作为一位每天使用 Python 编写代码的码农,肯定没少踩过语法错误的坑。虽然成熟的程序员可以熟练地掌握 Python 技巧,语法上的错误也能很好地修复,但有时我们希望得到更准确的错误消息,以帮助更好地定位错误,节省调试时间。 Python3.10 新增两个特性,可以更好地处理错误,即更好的错误消息和用于调试的精确行号。以下列代码为例,代码中包含字典和函数,然而这段代码显示没有关闭字典。 some_dict = {1: "jack", 2: "john", 3: "james" ,a_results = a_useful_function() 在之前的 Python 版本中,这个错误信息看起来像这样: 但是,随着 Python 3.10 的到来,新的错误消息和行编号的改进,能给码农带来更好的错误消息,比如错误的确切类型及其确切的行号都能跟踪。 Python 3.10 关于错误跟踪新特性将有助于加快调试速度,并减少初学者挫败感。 特性 2:引入结构模式匹配 如果你已经使用过 C++ 等其他编程语言,或许你会期待 Python 有 switch 语句,这样就不必通过长的 if、 elif、 elif…. else 语句来完成任务。Python 3.10 的一个新特性是增加了结构模式匹配,或者换句话说,增加了 match case 语句,它的语法如下: match subject: case patt1: act1 case patt2: act2 case patt3: act3 case _: action_default 特性 3:新型 Union 运算符 尽管 Python 是一种动态类型的编程语言,但有一些方法可以使它的某些部分成为静态类型。例如,如果你正在编写一个函数,并且属性(attributes)的类型对于函数内部的转换非常重要。在以前的版本中,可以指定属性的类型,例如: def func(num: int) - int: return num + 5 但问题来了,如果你想接受两种类型,则需要使用 Union 关键字: def func(num: Union[int, float]) - Union[int, float]: return num + 5 在 Python 3.10 中,你可以在两种类型中进行选择,使用 | 运算符而不是 Union 来进行更直接的类型决策: def func(num: int | float) - int | float: return num + 5 特性 4:Stricter Zipping Python 中一个有趣的函数是 zip() 函数,这是 Python 中的内置函数,允许组合和迭代来自多个序列的元素。在以前的版本中,你可以使用具有不同长度序列的 zip,但是现在引入了一个新的参数 strict,用来检查传递给 zip 函数的所有可迭代对象是否具有相同的长度。 特性 5:自动文本编码 有时编码会遇到这种情况,代码在一台机器上可以运行,但是在另一台机器上会出错。导致这种情况的原因很多,有些是文本编码造成的。在 Python 的早期版本中,如果没有显式声明编码类型,首选的本地编码可能会导致代码在其他计算机上出现错误。在新版本的 Python3.10 中,如果用户打开没有特定编码类型的文本文件时,可以激活一个警告来通知用户。 特性 6:异步迭代 异步编程是一种功能强大的高级编程范式,它自 Python 3.5 版以来一直是 Python 的一部分。在 Python 3.10 中,有两个新的异步内置函数 aiter() 和 anext() 使代码更具可读性。 对于很多程序员来说,Python 可能是他们编程的首选语言。Python 在众多编程语言排行榜中也多次位居榜首,如 IEEE 2021 编程语言排名,Python 一骑绝尘,在总榜单以及其他几个分榜单中依然牢牢占据第一名的位置。此次 Python 3.10 发布,必将为 Python 这门编程语言带来更好的编程体验。 参考链接:https://towardsdatascience.com/6-new-awesome-features-in-python-3-10-a0598e87689f 2021 NeurIPS MeetUp China 受疫情影响,NeurIPS 2021依然选择了线上的形式举办。虽然这可以为大家节省一笔注册、机票、住宿开支,但不能线下参与这场一年一度的学术会议、与学术大咖近距离交流讨论还是有些遗憾。 今年,我们将在NeurIPS官方支持下,再次于 12 月份在北京举办线下NeurIPS MeetUp China,促进国内人工智能学术交流。 2021 NeurIPS MeetUp China将设置 Keynote、圆桌论坛、论文分享和 Poster 等环节,邀请顶级专家、论文作者与现场参会观众共同交流。 欢迎 AI 社区从业者们积极报名参与,同时我们也欢迎 NeurIPS 2021 论文作者们作为嘉宾参与论文分享与 Poster 展示。感兴趣的小伙伴点击「阅读原文」即可报名。 ?THE END 转载请联系本公众号获得授权 投稿或寻求报道:content@jiqizhixin.com 阅读原文

上一篇:2024-06-25_也许,用 Flutter 框架获取图片尺寸并没有你想象中那么简单 下一篇:2020-11-12_读硕博期间你积累了哪些重要的科研经验?

TAG标签:

17
网站开发网络凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设网站改版域名注册主机空间手机网站建设网站备案等方面的需求...
请立即点击咨询我们或拨打咨询热线:13245491521 13245491521 ,我们会详细为你一一解答你心中的疑难。
项目经理在线

相关阅读 更多>>

猜您喜欢更多>>

我们已经准备好了,你呢?
2022我们与您携手共赢,为您的企业营销保驾护航!

不达标就退款

高性价比建站

免费网站代备案

1对1原创设计服务

7×24小时售后支持

 

全国免费咨询:

13245491521

业务咨询:13245491521 / 13245491521

节假值班:13245491521()

联系地址:

Copyright © 2019-2025      ICP备案:沪ICP备19027192号-6 法律顾问:律师XXX支持

在线
客服

技术在线服务时间:9:00-20:00

在网站开发,您对接的直接是技术员,而非客服传话!

电话
咨询

13245491521
7*24小时客服热线

13245491521
项目经理手机

微信
咨询

加微信获取报价