10 月 6 日消息,Python 3.12 正式版目前已经推出,改进了许多既有功能,包括 f-string 解析改进、Buffer Protocol(缓冲区协议)等,同时也改进了报错信息,使开发者能够更清楚错误发生的原因,此外,开发团队也进行了一系列性能改进,号称“该版本整体性能提升了约 5%”。

Python 3.12 版本正式推出:f-string 解析改进,整体性能提升 5%-风君雪科技博客

▲ 图源 Python 网站

据悉,在 Python 3.12 中 f-string 解析更加灵活,许多之前不允许的操作,在这个版本都进一步放宽

在 3.11 中 f-string 的表达式如果重用外部 f-string 的相同引号,会导致语法错误,这一写法在 3.12 被允许;在前一版本,f-string 表达式本身即便可以跨多行,但是仍必须要在单行内定义,在 3.12 开发者则可以使用多行表达式。之前 f-string 不能包含任何反斜杠符号“\”,在新版本中也被允许使用,因此 f-string 目前也可以包含转义序列(Escape Sequences)

发现,Python 开发者在新版中可以更方便地使用 Buffer Protocol(缓冲区协议),这是一种轻便高效的结构化数据存储格式,在处理大量资料文件时,使用相关协议,可以提升性能并节省存储空间。

在之前,Buffer Protocol 主要在 Python 的 C API 中使用,对纯 Python 的开发者并不友好,Python 3.12 则引入新方法来解决这个问题,使开发者可以更直接地在 Python 中操作相关功能,不再需要通过 C 或是其他方法。

Python 3.12 版本的错误提示也获得改进,让开发者可容易辨别错误原因,从而更容易修正相关错误。当开发者错误使用 import 语法时,系统会提供正确的使用建议;而在类别方法中使用未正确参照的实例属性时,错误提示现在会指向正确项目本身的属性名称。

Python 3.12 还进行了多项性能提升,Unicode 在此版本中经过精简,从而降低了相关空间占用,使其更为轻巧,而且 Python 还会在环境搭建时,使用 BOLT 二进制工具,使相关场景的性能提高 1%到 5%。

参考

  • Python 3.12.0 (final) is here

广告声明:文内含有的对外跳转链接(包括不限于超链接、二维码、口令等形式),用于传递更多信息,节省甄选时间,结果仅供参考,所有文章均包含本声明。