我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Python3.11中的最佳新功能和功能修复是什么

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Python3.11中的最佳新功能和功能修复是什么

这篇文章主要介绍“Python3.11中的最佳新功能和功能修复是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python3.11中的最佳新功能和功能修复是什么”文章能帮助大家解决问题。

Python3.11中的最佳新功能和功能修复是什么

速度提升:

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

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

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

增强的错误信息提示:

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 <module>    z = x[1][0]TypeError: 'int' object is not subscriptable

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

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

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

异常改进:

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

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

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

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

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

类型提升:

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中还有许多更小的改进:

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

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

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

关于“Python3.11中的最佳新功能和功能修复是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网行业资讯频道,小编每天都会为大家更新不同的知识点。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Python3.11中的最佳新功能和功能修复是什么

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Python3.11中的最佳新功能和功能修复是什么

这篇文章主要介绍“Python3.11中的最佳新功能和功能修复是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python3.11中的最佳新功能和功能修复是什么”文章能帮助大家解决问题。速度提升
2023-06-30

Windows10最新功能是什么

本篇内容主要讲解“Windows10最新功能是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Windows10最新功能是什么”吧!Windows10最新功能改进一、新开始菜单 1.磁贴一直都
2023-07-01

Go中新增的功能是什么

这篇文章主要讲解了“Go中新增的功能是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Go中新增的功能是什么”吧!什么是模糊测试?模糊测试fuzz testing(fuzzing)是指向你
2023-06-29

OpenAPI的新功能是什么

本文小编为大家详细介绍“OpenAPI的新功能是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“OpenAPI的新功能是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。Open API 即开放 API,也称
2023-06-28

ubuntu kylin 14.04中的新功能是什么

本篇文章给大家分享的是有关ubuntu kylin 14.04中的新功能是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。  UbuntuKylin除了拥有Ubuntu官方原
2023-06-13

Windows 10中wsl新功能是什么

小编给大家分享一下Windows 10中wsl新功能是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!WSL是微软设计的一个兼容性层,它使Windows 10/
2023-06-15

win10最新版Build 10041发布!包括大量新功能和Bug修复

微软官方宣布,Windows 10最新测试编译版本Build 10041已经javascript向Fast Riphpng快速内测用户发放了,包括大量新功能和Bug修复。 php该版本仅面向那些已经安装了上一js个内测版本的用户,而且只能通
2023-06-12

win10搜索功能修复的方法是什么

修复Windows 10搜索功能的方法有以下几种:1.重新启动Windows搜索服务:按下Win + R键打开运行对话框,输入"services.msc"并回车,找到"Windows Search"服务,右键点击选择"重新启动"。2.重建索
2023-09-18

Kubernetes1.4版本的新功能是什么

这篇文章将为大家详细讲解有关Kubernetes1.4版本的新功能是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Kubernetes1.4主要新特性创建kubernetes集群只需要两
2023-06-05

Node.js8重要功能有哪些和修复的方法是什么

这篇文章主要介绍了Node.js8重要功能有哪些和修复的方法是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Node.js8重要功能有哪些和修复的方法是什么文章都会有所收获,下面我们一起来看看吧。Async
2023-06-17

GNOME 2.30发布的新功能是什么

GNOME 2.30发布的新功能是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。GNOME 开发团队已发布 GNOME 2.30 正式版本。GNOME 2.
2023-06-16

Cassandra中自动修复功能是怎么工作的

Cassandra中的自动修复功能是通过定期检查数据的一致性并修复不一致之处来工作的。具体来说,Cassandra中的自动修复功能会定期检查每个节点的数据,并与其他节点进行比较,以确保数据的一致性。如果发现数据不一致,自动修复功能会自动修复
Cassandra中自动修复功能是怎么工作的
2024-03-11

PHP中json_decode的功能是什么

json_decode()函数用于将JSON格式的字符串转换为PHP变量。它将解码后的数据返回为一个关联数组、一个对象或者一个对象数组,具体取决于JSON字符串的格式。json_decode()函数还可以接收一个可选的第二个参数,用于指定返
2023-10-12

css中tag的功能是什么

本篇内容主要讲解“css中tag的功能是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“css中tag的功能是什么”吧!说明1、在css中tag代表着选择器,例#tag{样式代码;}.tag{
2023-06-20

linux中pwd的功能是什么

本文小编为大家详细介绍“linux中pwd的功能是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“linux中pwd的功能是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。在linux中,pwd全称prin
2023-02-23

Android中Intent的功能是什么

Intent在Android中用于实现组件之间的通信,它可以启动一个新的Activity、Service或BroadcastReceiver,也可以传递数据和操作。Intent有两种类型:显式Intent和隐式Intent。显式Intent
Android中Intent的功能是什么
2024-04-03

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录