2006.4.5 早,花了约一小时的时间翻译了这个东西...呵呵,希望对大家有用.

What's New in Python 2.5

新的,改进的及不再赞成使用的模块

象以前一样, Python 标准库变得更强更健壮. 这里列出了大部分值得注意的变化, 按模块名字母序排列. 请参考源代码树中的 Misc/NEWS 文件以了解更完整的变化列表, 或者通过 SVN 日志了解所有的细节.

      >>> import heapq
      >>> L = ["short", 'medium', 'longest', 'longer still']
      >>> heapq.nsmallest(2, L)  # Return two lowest elements, lexicographically
      ['longer still', 'longest']
      >>> heapq.nsmallest(2, L, key=len)   # Return two shortest elements
      ['short', 'medium']

      (贡献者: Raymond Hettinger .)

13.1 ctypes 包

ctypes 包的作者是 Thomas Heller, 这个包被加入到标准库中. ctypes 使你能够调用共享库或DLL中的任意函数.

将来发行 Python 2.5(正式版或BETA版?)时 , 我会添加一个简短的关于如何使用这个模块的介绍.

13.2 ElementTree 包

用于处理 XML的 ElementTree 库(作者:Fredrik Lundh )的子集被添加到标准库中,名字为 xml.etree. 可用的模块有 ElementTree, ElementPath, 和 ElementInclude (ElementTree版本 1.2.6).

将来发行 Python 2.5(正式版或BETA版?)时 , 我会添加一个简短的关于如何使用这个模块的介绍(约一页长). 完整的 ElementTree 文档在http://effbot.org/zone/element-index.htm.

13.3 hashlib 包

添加了一个新的 hashlib 模块以替换掉 md5 和 sha 模块. hashlib 添加了更多的安全 hashes (SHA-224, SHA-256, SHA-384, and SHA-512)支持. 只要可能,这个模块就会使用 OpenSSL 进行快速的平台优化的算法实现.

旧的 md5 和 sha 模块仍然以 hashlib 封装器的形式存在,以提供向后兼容性.新模块的接口非常接近旧模块,但不是一模一样.最大的不同在于创建新哈希对象的构造函数 的命名不同.

# Old versions h = md5.md5() h = md5.new()

# New version h = hashlib.md5()

# Old versions h = sha.sha() h = sha.new()

# New version h = hashlib.sha1()

# Hash that weren't previously available h = hashlib.sha224() h = hashlib.sha256() h = hashlib.sha384() h = hashlib.sha512()

# Alternative form h = hashlib.new('md5') # Provide algorithm as a string

一旦创建了一个哈希对象, 它的方法就和以前相同: update(string) hashes指定的字符串到当前的 digest 状态, digest()hexdigest() 以一个二进制字符串或16进制字符串的形式返回 digest 值, copy() 返回一个同样digest 状态的新的哈希对象.

贡献者: Gregory P. SmithThis

13.4 sqlite3 包

pysqlite 模块(http://www.pysqlite.org), 一个嵌入式数据库 SQLite 的封装器, 被加入到标准库中, 包的名字是 sqlite3. SQLite 是一个 C 库,在不需要一个独立服务器进程的情况下实现了一个支持 SQL的全功能数据库. 它将数据保存为一个单一的磁盘文件.pysqlite 由 Gerhard Häring 完成, 提供了一个 兼容 DB-API 2.0 的SQL 接口.这意味着你可以用 SQLite 来书写你的应用程序的第一个版本, 在必要时将数据库切换到一个类似postgreSQL或Oracle的大的数据库, 这种切换将是相当的轻松.

如果你是自己编译 Python , 要注意源码树中并不包含 SQLite 代码, 而只有封装模块. 你必须在编译 Python 之前安装 SQLite 库和头文件, 之后 build 进程才会编译这个模块.

将来发行 Python 2.5(正式版或BETA版?)时 , 我会添加一个简短的关于如何使用这个模块的介绍.

WeiZhong/WhatsNewOfPython25 (last edited 2009-12-25 07:16:40 by localhost)