0

0

Python 3.11中的最佳新功能和功能修复

WBOY

WBOY

发布时间:2022-05-30 18:57:55

|

3291人浏览过

|

来源于CSDN

转载

本篇文章给大家带来了关于python的相关知识,其中主要介绍了关于3.11版本中的最佳新功能和功能修复,下面是python 3.11中最重要的新特性的概述,以及它们对python开发人员的意义,下面一起来看一下,希望对大家有帮助。

Python 3.11中的最佳新功能和功能修复

推荐学习:python视频教程

Python编程语言每年都会发布新版本,上半年发布了一个功能锁定的beta版本,年底将发布最终版本。Python 3.11的功能集刚刚定稿,有一个测试版可供测试。开发人员被鼓励在非生产代码上试用此最新版本,以验证它是否与您的程序不相冲突,并了解您的代码是否会从其性能增强中受益。

下面是Python 3.11中最重要的新特性的概述,以及它们对Python开发人员的意义。

立即学习Python免费学习笔记(深入)”;

速度提升: 

        Python 3.11中有许多单独的性能改进,但最大的一个增加是专门的自适应解释器。由于对象的类型很少更改,解释器现在尝试分析运行的代码,并用特定类型的字节码替换常规字节码。例如,二进制操作(加法、减法等)可以替换为整数、浮点和字符串的专用版本。

在Python 3.11中,Python函数调用也需要较少的开销。函数调用的堆栈帧现在使用的内存更少,设计效率更高。此外,虽然递归调用没有进行尾部优化(无论如何,这在Python中可能是不可能的),但它们比以前的版本更高效。Python解释器本身的启动速度也更快,Python运行时所需的核心模块的存储和加载效率也更高。

         根据官方的Python基准测试套件,Python 3.11的运行速度大约是3.10版的1.25倍。请注意,这个加速是一个总体衡量标准:有些东西要快得多,但其他许多东西只是略快或大致相同。尽管如此,这些改进最好的部分是免费的。您无需对Python程序进行任何代码更改即可利用3.11的加速。

 增强的错误信息提示:

        3.11中另一个非常有用的特性是更详细的错误消息。由于解释器中使用了新的解析器,Python 3.10已经有了更好的错误报告。现在,Python 3.11对此进行了扩展,提供了关于给定表达式的哪个特定部分导致错误的详细反馈。     

       思考以下引发错误的代码:        

x = [1,2,3]
z = x[1][0]

 在Python 3.10中,我们会收到以下错误消息,这不是很有帮助:

  File "C:\Python311\code.py", line 2, in 
    z = x[1][0]
TypeError: 'int' object is not subscriptable

与其让我们弄清楚哪个int是不可编译的代码,Python 3.11中的错误跟踪指向生成错误的行的确切部分:

  File "C:\Python311\code.py", line 2, in 
    z = x[1][0]
        ~~~~^^^
TypeError: 'int' object is not subscriptable

现在,问题的出处就十分明确了。

异常改进:

Python的错误处理机制在Python 3.11中获得了许多新特性:

1、使用新的except*语法和新的ExceptionGroup异常类型可以处理多异常问题。这允许优雅地处理可能同时引发多个错误的问题,例如在处理异步或并发方法时,或者在重试操作时处理多个故障时。

2、“零成本”异常:除非实际抛出异常,否则现在对程序没有内存消耗。这意味着try/except块的默认路径更快,并且使用更少的内存。

3、捕获异常所需的时间减少了约10%。

HTShop网上购物系统
HTShop网上购物系统

HTShop网上购物系统由恒天网络科技有限公司根据国际先进技术和国内商务特点自主版权开发的一款具有强大功能的B2C电子商务网上购物平台。HTShop以国际上通用流行的B/S(浏览器/服务器)模式进行设计,采用微软公司的ASP.NET(C#)技术构建而成。 2007-11-10 HTShop CS 通用标准版 v1.1.11.10 更新内容自由更换模版功能开放 修改了购买多款商品,会员中心订单只显示

下载

4、异常可以通过上下文注释来完善,使得异常与代码块分离。

类型提升:

Python的类型提示特性使更大的代码库更易于管理和分析,并且自Python 3.5以来,随着每次修订类型提示的性能都有显著增加。Python 3.11引入了几个新的类型提示。

自身类型:

类方法返回自身类型之前需要迟钝且详细的声明才会生效。类型.Self的模式让你声明类方法的返回值更为简便。您可以从这些方法的分析工具中获得有用且可预测的结果。

任意字符串文字类型:

以前,类型注释无法定义给定变量必须是字符串文字,即源代码中定义的字符串。新类型。LiteralString注释修复了这一问题。使用新注释,linters可以测试变量是源中定义的字符串还是仅由源定义的字符串组成的新字符串。

数据类转换:

自Python 3.7以来,数据类使得定义类变得更加容易,这些类遵循基于初始化参数创建属性的常见模式。但没有标准机制允许行为类似于数据类(但不是数据类本身)的东西使用类型注释来声明其行为。数据类转换添加了 类型.dataclass_transform修饰符去提示编译器一个给定的函数、类或元类的行为像一个数据类。

可变泛型:

最初的泛型建议包括TypeVar,这是一种使用单个参数化类型指定泛型函数的方法,例如,类型T可以是int或float。Python 3.11添加了TypeVarTuple,或“可变泛型”,您可以使用它来指定占位符,不仅仅是一种类型,而是一系列类型,表示为元组。这在像NumPy这样的库中尤其有用,在这些库中,您可以提前检查错误,例如提供的数组的形状是否正确。

stdlib中支持TOML只读:

Python使用TOML或Tom显式的简约语言作为配置格式(如pyproject.TOML),但没有将读取TOML格式文件的能力公开为标准库模块。Python 3.11添加了tomllib来解决这个问题。注意,tomllib不创建或写入TOML文件;为此,您需要像Tomli-W或TOML Kit这样的第三方模块。

正则表达式的原子分组和加速:

Python的re模块用于处理正则表达式,它缺少正则表达式的其他实现中的一些特性。一种是原子分组,在其他语言中得到广泛支持。Python 3.11现在使用原子分组的通用语法支持此模式(例如,(?>…)。

re模块的模式匹配引擎也被重写了一些,运行速度快了大约10%。

从标准库中删除“坏死的电池”:

PEP 594启动了一项从Python标准库中移除许多所谓的坏死的电池或过时或未维护的模块的工作。从Python 3.11开始,这些库被标记为已弃用,但尚未删除;它们将在Python 3.13中完全删除。

Python 3.11其它新增功能、修复和更改:

Python 3.11中还有许多更小的改进:

1、Python对象需要更少的内存,因为它们的名称空间现在是延迟创建的,它们的名称空间字典现在尽可能共享键。

2、所有键都是Unicode的字典不再需要存储哈希,因此减少了字典的大小并允许更高的缓存效率。

3、Python运行时使用的是Python的解释器,现在可以实验性地支持编译到WebAssembly。这可能有助于PyScript等项目的未来开发,PyScript允许WASM编译的Python运行时在浏览器中运行。

推荐学习:python视频教程

相关文章

python速学教程(入门到精通)
python速学教程(入门到精通)

python怎么学习?python怎么入门?python在哪学?python怎么学才快?不用担心,这里为大家提供了python速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

65

2026.01.16

全民K歌得高分教程大全
全民K歌得高分教程大全

本专题整合了全民K歌得高分技巧汇总,阅读专题下面的文章了解更多详细内容。

123

2026.01.16

C++ 单元测试与代码质量保障
C++ 单元测试与代码质量保障

本专题系统讲解 C++ 在单元测试与代码质量保障方面的实战方法,包括测试驱动开发理念、Google Test/Google Mock 的使用、测试用例设计、边界条件验证、持续集成中的自动化测试流程,以及常见代码质量问题的发现与修复。通过工程化示例,帮助开发者建立 可测试、可维护、高质量的 C++ 项目体系。

33

2026.01.16

java数据库连接教程大全
java数据库连接教程大全

本专题整合了java数据库连接相关教程,阅读专题下面的文章了解更多详细内容。

39

2026.01.15

Java音频处理教程汇总
Java音频处理教程汇总

本专题整合了java音频处理教程大全,阅读专题下面的文章了解更多详细内容。

19

2026.01.15

windows查看wifi密码教程大全
windows查看wifi密码教程大全

本专题整合了windows查看wifi密码教程大全,阅读专题下面的文章了解更多详细内容。

85

2026.01.15

浏览器缓存清理方法汇总
浏览器缓存清理方法汇总

本专题整合了浏览器缓存清理教程汇总,阅读专题下面的文章了解更多详细内容。

20

2026.01.15

ps图片相关教程汇总
ps图片相关教程汇总

本专题整合了ps图片设置相关教程合集,阅读专题下面的文章了解更多详细内容。

11

2026.01.15

ppt一键生成相关合集
ppt一键生成相关合集

本专题整合了ppt一键生成相关教程汇总,阅读专题下面的的文章了解更多详细内容。

47

2026.01.15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
最新Python教程 从入门到精通
最新Python教程 从入门到精通

共4课时 | 3.7万人学习

Django 教程
Django 教程

共28课时 | 3.2万人学习

SciPy 教程
SciPy 教程

共10课时 | 1.2万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号