Python 3.11即将发布,这5个实用新功能,你还不知道嘛

Posted 程序员与Python

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 3.11即将发布,这5个实用新功能,你还不知道嘛相关的知识,希望对你有一定的参考价值。

Python 3.11即将发布,这5个实用新功能,你还不知道嘛

Python 3.11快发布了,每个新版本都带有新功能。在本文中,我们将介绍令人期待的Python 3.11的5个很酷的新功能。

1.比3.10版本快了60%

具体取决于工作负载。平均来说预期它在启动和运行时间方面将比以前的版本快25%。为了确认这一点,下方使用Python 3.11和Python 3.10运行了相同的代码,并比较了执行时间。运行时结果证实Python 3.11比以前的版本快得多。

Python 3.10执行时间为5.50秒


Python 3.10执行时间为2.14秒

2.提示代码具体报错的位置(超赞)

过去执行代码有错误时,只会提示在哪些文件、函数、行数报错,有时候还不知道是错在哪里,这个版本将会直接指出错误的地方,相当实用。

3.用self类型作为型态

在以前的版本中,如果想指定回传class实例的类型,需要使用类型套件TypeVar。Python 3.11添加了一种新的函式来取代这功能,而无需使用TypeVar。下面的第一段代码演示如何实现基于TypeVar的方法。第二个代码演示了使用新功能self类型。

4.使用Exception Group处理多个异常

Python 3.11将包含一个新的内见异常类型,称为ExceptionGroup。这种异常类型可以同时引发多个不同的异常或错误。ExceptionGroup接受两个参数,一个字串,然后是我们想要引发和处理的一系列错误。请看下面的代码:

一但程序出现我们自定义的错误类型,可以使用except*进行个别的处理喔!

5. TypeDict-必要和非必要的key

Python 3.8引入TypedDict并将其添加到class中。TypedDict类型使得创建具有特定键和值的字典(Dict)。但是,如果我们希望class中的某些变数是可选的,那么使用TypedDict实现起来并不容易。让我们用一个例子来证明这一点。我们将创建一个包含3个键的字典——姓名、年龄和汽车。


上面的class将需要姓名、年龄和驾驶的汽车。但是,我们想让car汽车这个变数是选填的,因为不是每个人都有汽车。要在Python 3.10或更早版本中实现它,必须创建另一个将实现可选填的class(子类):

Python 3.11引入了Required和NotRequired类型来解决这类问题。使用这些类型(Required和NotRequired),我们不必创建子类来实现可选键,所以我们只需将可选键注释为NotRequired即可。

以上是Python 3.11新增的5个新功能。Python3.11最终版本预计于2022年10月发布。

感谢阅读😀,关注我了解更多python技术

各位大佬们,我是在CSDN上写作的新手,希望能听到你们的反馈。如果你喜欢我写的东西,不要犹豫给我点个小心心吧。如果你有问题或建议,请随时留下评论。我会阅读每一条信息,并答复。

---- 程序员詹姆斯

您可能会喜欢的其他文章>

掌握这25个单行代码技巧,你也能写出『高端』Python代码

在HTML中运行Python?

以上是关于Python 3.11即将发布,这5个实用新功能,你还不知道嘛的主要内容,如果未能解决你的问题,请参考以下文章

Python 3.11即将发布,这5个实用新功能,你还不知道嘛

速度提升1.25倍,Python 3.11 Beta版本的首个预览版本发布

Python练习题3.11字符串排序

Python 3.11 终于发布了,性能大提升!

国产办公软件崛起,金山WPS月活用户已超5.7亿;Meta指责苹果夺走部分广告收入;Python 3.11 发布|极客头条

Python 3.11 中的最佳新特性和修正