准确的电话号码和 WhatsApp 号码提供商。 如果您想要电子邮件营销活动列表或短信营销活动,那么您可以联系我们的团队。 电报: @xhie1

数字列表

Python 311 中的 快 125 倍 值得注意的新功能

Python编程语言每年都会发布新版本,上半年发布功能锁定的测试版,下半年发布最终版本。最新版本是最近发布的Python 3.11。对于开发人员来说,在非生产环境中试验最新版本是一个好主意,看看它是否可以与其他程序很好地配合,以及他们的代码是否可以从性能改进中受益。在这里,我们来看看 Python 311 中最重要的新功能以及它  们对 Python 开发人员的意义。

速度改进
Python 311 的许多部分都进行了单独的性能改进,但最大的部分是自适应解释器的专门化。考虑到对象的格式很少改变,解释器现在分析执行代码并尝试用特定格式的字节码替换通用字节码。例如,加法和减法等二进制运算可以替换为整数、浮点和字符串的专用版本。

在Python 311中 调用Python函数所需的开销

由于函数调用的堆栈框架 瑞士 WhatsApp 号码数据 设计得更加有效,因此内存使用量减少了。另外,虽然递归调用不是尾部优化的(反正Python中尾部优化被认为是不可能的),但与之前的版本相比,效率有所提高。Python解释器本身的启动速度变得更快,Python运行时所需的核心模块的存储和加载效率也得到了提高。

根据Python官方基准测试,Python 3.11的运行速度比Python 3.10快约1.25倍。请注意,这个速度提升是一个综合数字。有些部分运行得更快,但许多部分运行得稍快或接近相同。无论如何,这些改进的最大优点是它们不需要额外的工作。无需更改 Python 程序中的代码即可受益于 Python 3.11 的速度改进。

改进的错误信息
您会发现 Python 311 中立即有用的另一个功能是详细的错误消息。由于解释器中使用了新的解析器,Python 310 中的错误报告已经得到了改进,但 3.11 提供了有关给定表达式的特定部分导致错误的详细反馈。例如,考虑以下导致错误的代码:

 

您可以使用新的except* 语法和ExceptionGroup异常类型 同时引发和处理多个异常。它可以处理多个错误同时发生的情况,例如,处理异步或并发方法时,或者在重试操作时处理多个失败时。
“零成本”异常:现在,异常在实际发生之前不会给程序带来任何成本。这意味着try/ except 块的默认路径更快并且使用更少的内存。
捕获异常所需的时间减少了大约 10%。
除了异常本身的文本之外,您还可以使用上下文注释补充异常的描述。

格式改进 Python 的类型提示功能使大型代码库的管理和分析变

WhatsApp 号码数据

型:返回 self 的类方法以前 数字列表 需要笨重且冗长的注释。多亏了 Typing.Self,您现在可以简单地用 Self 注释类方法的返回值 您可以通过分析工具获得这些方法的有用且可预测的结果。

任意字符串文字格式:以前,无法在类型注释中指示特定变量应该是字符串文字(源代码中定义的字符串)。新的typing.LiteralString注释解决了这个问题。新的注释允许 linter 测试变量是源中定义的字符串还是仅由源中定义的字符串组成的新字符串。
数据类变体:从 Python 3.7 开始,数据类可以更轻松地定义遵循基于初始化参数创建属性的通用模式的类。但是,没有标准机制允许某些行为类似于数据类但本身不是数据类的东西使用类型注释来声明其行为。数据类转换添加了 typing.dataclass_transform  装饰器来指示给定函数、类或元类的行为如何像数据类。
变量泛型:类型提示的第一个提议包括 TypeVar,一种使用单个参数化类型(例如类型 T,可以是int 或 float )指定泛型函数的方法。Python 3.11 添加了 TypeVarTuple 或“变体泛型”,它可用于指定占位符,表示为元组,不仅适用于一种类型,还适用于一系列类型。这在 NumPy 等可以执行主动错误检查的库中特别有用,例如提供的数组是否具有正确的形状。

stdlib 中的 TOML 只读支持
Python 使用 Tom’s Obvious Minimal Language (TOML) 作为其配置格式 (pyproject.toml),但没有将读取 TOML 格式文件的功能公开为标准库模块。Python 3.11中添加了tomlib来解决这个问题。请注意,tomllib不会创建或写入 TOML 文件。这需要第三方模块,例如 Tomli-W 或 TOML 套件。

原子组和正则表达式的加速
Python 用于处理正则表达式的 re 模块缺乏其他正则表达式实现所具有的几个功能。其中之一是原子组,它在其他语言中得到了广泛支持。Python 311 现在使用原子组的通用语法支持此模)。re模块的模式匹配引擎也进行了部分重写,执行速度提高。

Leave a Reply

Your email address will not be published. Required fields are marked *