Python 3.12正式版在10月6日公布,此次升级改进了多种既有功能,例如f-string解析改进、Buffer Protocol等,并且改进了错误信息,使开发者能更好地理解错误发生的原因。此外,开发团队还进行了一系列性能改进,号称性能整体提升了5%。 在Python 3.12中,f-string解析更加灵活,之前不允许的操作在该版本都得到进一步放宽。在3.11版本中,使用f-string表达式时如果重用外部f-string的相同引号,会导致语法错误,这一写法在3.12版本中被允许;在3.11版本中,f-string的表达式本身即使可以跨多行,但仍然必须要在单行内定义,而在3.12版本中,开发者使用多行表达式是被允许的。 此外,Python 3.12版本中,f-string原本不能包含任何反斜杠符号“”,但在该版本中也允许使用。因此,现在f-string也可以包含转义序列(Escape Sequences)。 在Buffer Protocol方面,Python 3.12版本的引入使得开发者可以更方便地使用。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%。