注意: 虽然 JavaScript 对于本网站不是必需的,但您与内容的互动将受到限制。请开启 JavaScript 以获得完整的体验。

亮点:Python 2.5

亮点:Python 2.5

以下是 Python 2.5 的一些(主观)亮点。有关几乎所有新功能的更多详细信息,请参阅文档 Python 2.5 新功能

更可靠

Python 现在使用 Buildbot 工具在各种平台上进行持续测试。这使我们能够在开发过程中更快地发现问题,并使版本更加健壮。

Andrew Kuchling 确定自 Python 2.4 以来,已经修复了超过 350 个补丁和超过 450 个错误。

更快

冰岛的 NeedForSpeed 短跑带来了许多优化。异常处理和字符串操作的速度得到了显著提升,同时还有许多其他改进性能的更改。

新的语言特性

在内部,Python 编译器现在在生成字节码之前将源代码转换为抽象语法树 (AST)。

'with' 运算符取代了常见的 try/finally 惯用语,从而使代码更简洁、更安全。

生成器获得了 send、throw 和 close 方法。传递给 send 的值将在生成器恢复时由 yield 语句返回。throw 接受一个异常,并导致 yield 语句在生成器中引发传递的异常。close 用于终止生成器。这使得生成器成为一种协程形式,并使其功能更加强大。

添加了形式为 (TrueValue if Condition else FalseValue) 的条件表达式。

import 在包内部时可以使用相对导入和绝对导入。

try/except/finally 已更改,现在可以在同一个 try 块中同时拥有 except 块和 finally 块。

异常已成为新式类,并且异常层次结构已进行了一些调整。

在内部,Python 已更改为使用 Py_ssize_t 类型——这意味着许多以前限制为 2^32 个对象的结构现在最多可以容纳 2^64 个对象。

新增或升级的内置函数

str 和 unicode 添加了 partition 和 rpartition 方法。这大大简化了搜索和分割字符串的过程。

新的内置函数 any 和 all 分别评估迭代器是否包含任何或所有 True 值。

min 和 max 获得了 key 关键字参数,类似于 sort。

新增或升级的模块和包

为了秉承将经过验证的包添加到标准库的主题,在 2.5 中,我们向 Python 随附的标准库添加了 ctypes、ElementTree、hashlib、sqlite3 和 wsgiref。

Google 的编程之夏产生了新的 cProfile 性能分析模块。这是多年来随 Python 提供的久负盛名的 profile.py 模块的一个效率更高的版本。GSoC 还为我们提供了一个重写的 mailbox 模块,该模块可以读取和写入各种格式的邮箱。

struct 模块已更新,以支持新的 Struct 对象。这些类似于 re 模块的编译形式的正则表达式。

添加到标准库中的其他一些较小的模块包括 uuid、msilib 和 spwd。