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

Python 3.11预计2022年10月发布,带来显著性能提升,平均启动和运行时间加快25%。新功能包括:更精确的错误定位、使用self类型作为型态、Exception Group处理多个异常、TypeDict的必要和非必要key支持。这些改进旨在提升开发者效率和编程体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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技术

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

---- 程序员詹姆斯

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

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

在HTML中运行Python?

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值