当前位置: 首页 > 科技观察

Python3.10发布!你应该知道这5大新特性

时间:2023-03-13 23:19:22 科技观察

Python已经上市一段时间了,作为一名Python开发人员,我很高兴地分享Python在每个新版本中都在逐渐得到更新和改进。Python的最新版本3.10有一些重大改进,我将在此处列出。我列出了这个新版本的前5个更新。1、错误信息的改进对于Python开发者来说,当你写代码遇到错误时,错误信息可以帮助你发现代码中的错误。改进的错误消息使您的生活比使用以前的Python版本更轻松。例如,考虑以下代码,其中第二行末尾没有括号:在以前的版本——Python3.9及更早版本中,你会看到类似这样的错误——好吧,语法无效!现在,作为开发人员,您从这个错误消息中了解到什么?好吧,就我个人而言,除了我在第3行的某处添加了错误的语法之外,我什么都不懂。但是,错误真的在第3行吗?Python3.10是这种情况下的救星,具有最新的更新。对于同一段代码,Python3.10抛出以下错误消息-行号和非常具体的错误消息将允许您直接跳入,修复错误并继续编码!我个人尝试查看错误消息是否足够清楚的另一个例子——这确实是Python3.10版本中的一个很酷的更新,请在本文的评论部分分享您对此的想法。2.更简单的类型联合语法在过去的Python版本中,更多的工具已经从类型切换到内置函数,以避免每次都导入静态类型。现在进行更改-在Python3.10中,您现在可以使用管道运算符(|)来指定类型联合,而不是从导入模块中导入联合。此外,现有的typing.Union和|语法应该是等价的,比较如下-3.在多行上使用多个`with`语句Python确实通过使用反斜杠(\)支持多行语句,但是Python中的某些构造不需要斜杠来编写多行语句。其中之一是具有多行with()语句的上下文管理器。例如-是的,这似乎不是一个功能,但它是对以前版本的重大改进,因为您可能遇到过使用多行上下文管理器但由于以下原因而无法这样做的用例以上错误。如果您仍然感到困惑,让我们给出更多示例,说明您可以使用Python3.10的上下文管理器做什么——您现在可以在不使用反斜杠的情况下拥有多行上下文管理器语句。太好了,对吧?四、更好的类型别名类型别名可以让你快速定义新的别名,可以为复杂的类型声明创建这些别名。例如-这通常工作正常。但是,类型检查器通常不可能知道这样的语句是类型别名还是只是常规的全局变量定义。上面的python代码为tuple[str,str]声明了一个别名UserInfo,因为它是一种组合了多种类型值的数据类型。在我们的例子中,它是一个字符串和一个整数。此外,添加TypeAlias注释可以向类型检查器和阅读您的代码的任何人阐明意图。5.更严格的序列压缩zip()是Python中的一个内置函数,您可能在组合多个列表/序列时使用过它。Python3.10引入了新的严格参数,它添加了一个运行时测试来检查所有压缩序列是否具有相同的长度。例如-zip()可用于并行迭代这三个列表:让我们再次使用上面显示的两个序列的名称和编号。现在唯一的区别是这些序列之间的数字与序列名称的长度不同,如下所示-注意,所有关于名称的信息-凯文不见了!如果您的数据集较大,则很难发现此类错误。即使您确实发现了问题,诊断和修复也并不总是那么容易。被压缩的序列长度相同的假设不仅可以帮助您避免这种差异。在Python3.10中,strict参数首先可以帮助您避免这种情况——虽然strict并没有真正向zip()添加任何新功能,但它可以帮助您避免那些难以发现的错误。Python3.10中的其他更新此版本有许多错误修复和其他小更新,如果您有兴趣,可以在官方发布页面上找到这些更新。原文:https://varun-singh-01.medium.com/python-3-10-released-top-5-new-features-you-should-know-bf968ac99230