Python 3.12 新稳定版本来了,这些是它的新功能

Python徽标

Python 是一种高级编程语言。

经过一年的发展, 宣布发布稳定版 也是编程语言 alpha 测试阶段的开始 Python的3.12 和 Python 3.13(分别)。 据称,Python 3.12的这个新分支将支持一年半,之后将在另外三年半的时间内生成修复程序以消除漏洞。

发布的新版本 Python 3.12 在以下方面进行了改进 f 弦分析的灵活性。 现在有了这个改进 许多限制可以被抛在一边,因为您现在可以在 Python 中包含任何有效的表达式,包括多行表达式、注释、反斜杠和 Unicode 转义序列。 此外,内部字符串现在允许重复使用相同的引号,即现在可以在内部重复使用双引号 无需更改为单引号。

例如:

f"""{f'''{f'{f"{1+1}"}'}'''}"""

现在可以任意嵌套:

f"{f"{f"{f"{f"{f"{1+1}"}"}"}"}"}"

另一个引人注目的变化是 支持独立的子解释器和单独的全局锁,其目的是提高多核系统中资源使用的效率,因为对于进程中的不同解释器,CPython 允许多个解释器在进程中同时运行。 目前,该功能仅可通过 C-API 使用(Python API 支持将出现在下一个主要分支中)。

除此之外,还强调的是错误消息的信息内容已增加 并且扩大了例外范围,提供了消除印刷错误的建议。 例如,现在显示导入被遗忘的标准库模块的建议和添加前缀“self”的建议。

添加了在 Python 代码中使用缓冲区协议的功能。 提供“__buffer__()”方法的类现在可以用作直接操作内存中的二进制数据的类型。

模块 建议使用 sys.monitoring 用于调试和分析, 允许您以最小的开销监视 CPython 中的事件,例如调用、函数返回、任意代码行的执行、异常和转换。

解释器实现对Linux内核性能子系统的支持,它允许在使用性能实用程序进行分析时确定 Python 函数名称(以前,只能在跟踪中确定 C 函数名称)。

关于性能改进,提到了 优化仍在继续, 与哪个 预计总性能提升了 5%。,还添加了 对 BOLT 二进制优化器的实验支持 到构建过程,性能提高了 1-5%,同时 asyncio 包的性能也有了显着提高(一些测试显示加速了 75%)。

列表推导式的内联扩展已实现,这将列表推导式的处理速度提高了两倍(对于主动使用列表推导式的代码,测试显示整体性能提高了 11%)。

为了提高安全性, 的内置实现 hashlib 中的 SHA1、SHA3、SHA2-384、SHA2-512 和 MD5 算法已被替换 具有来自 HACL* 项目的正式验证选项(仅当 OpenSSL 不可用时才使用内置实现)。

其他变化 脱颖而出:

  • 该模块扩展了对 Windows 的支持。
  • Python 实现了堆栈溢出保护。
    asyncio.Task 类的创建速度已加快。
  • Unicode 对象的大小已减少 8 至 16 个字节。
  • 正则表达式 re.sub()、re.subn() 和 re.Pattern 的操作已加快。
  • 对某些协议运行 isinstance() 检查的速度已加快 2 到 20 倍。
  • tokenize.tokenize() 和 tokenize.generate_tokens() 函数的速度显着加快(在某些测试中高达 64%)。
  • 属性加载和调用 super() 方法已加快。
  • 已经为泛型类和函​​数提出了一种新的、更紧凑的类型注释语法。
  • Web 浏览器模块不再支持旧版浏览器,包括 Grail、Mosaic、Netscape、Galeon、Skipstone、Iceape、Firebird 和 Firefox(最高版本 36)。
  • 为了为未来的优化做准备,整数的内部表示已经改变。

最后但并非最不重要的一点是,正如前面提到的,Python 3.13 的 alpha 测试已经开始,其中出现了编译模式 没有全局解释器锁的 CPython (GIL,全局解释器锁)。

分支 Python 3.13 的 alpha 版本将持续七个月, 在此期间,将根据新的开发计划添加新功能并修复错误,新分支的工作将在上一个分支发布前五个月开始,并在下一个版本进入 alpha 测试阶段时开始。

此后,Beta版本将进行为期三个月的测试,在此期间将禁止添加新功能,并将全部精力集中在修复错误上。 在发布前的最后两个月,该分支将处于发布候选阶段,在此阶段将进行最终的稳定。

最后是 您有兴趣了解更多信息,您可以在中查看详细信息 以下链接。