Following system colour scheme - Python 增强提案 Selected dark colour scheme - Python 增强提案 Selected light colour scheme - Python 增强提案

Python 增强提案

PEP 320 – Python 2.4 发布计划

作者:
Barry Warsaw, Raymond Hettinger, Anthony Baxter
状态:
最终版
类型:
信息性
主题:
发布
创建日期:
2003年7月29日
Python 版本:
2.4
发布历史:
2004年12月1日

目录

摘要

本文档描述了 Python 2.4 的开发和发布计划。该计划主要关注 PEP 级别的事项。小型功能可在第一次 Beta 发布之前(含)添加。错误可在最终发布之前修复。

至少会有两次 Alpha 发布、两次 Beta 发布和一个候选发布版本。发布日期为2004年11月30日。

发布经理

Anthony Baxter

Martin von Lowis 正在构建 Windows 安装程序,Fred 负责文档包,Sean 负责 RPM。

发布时间表

  • 7月9日:alpha 1 [已完成]
  • 8月5日/6日:alpha 2 [已完成]
  • 9月3日:alpha 3 [已完成]
  • 10月15日:beta 1 [已完成]
  • 11月3日:beta 2 [已完成]
  • 11月18日:release candidate 1 [已完成]
  • 11月30日:final [已完成]

2.4 已完成功能

  • PEP 218 内置集合对象。
  • PEP 289 生成器表达式。
  • PEP 292 更简单的字符串替换,将作为模块实现。
  • PEP 318: 函数/方法装饰器语法,使用 @语法
  • PEP 322 反向迭代。
  • PEP 327: 用于固定精度算术的 Decimal 包。
  • PEP 328: 多行导入
  • 将装饰-排序-取消装饰模式封装到 list.sort() 的关键字中。
  • 添加了一个名为 sorted() 的内置函数,可在表达式中使用。
  • itertools 模块有两个新函数,tee()groupby()
  • 添加一个包含 deque() 对象的 collections 模块。
  • heapq 模块添加两个统计/归约函数,nlargest()nsmallest()
  • Python 的 Windows 安装程序现在使用 MSI

推迟到 2.5

  • 弃用和/或移除 PEP 4 中列出的模块 (posixfile, gopherlib, pre, others)
  • 移除 PEP 11 中描述的平台支持。
  • 完成 Distutils bdist_dpkg 命令的实现。(AMK)
  • 添加对读取 shadow 密码的支持 [1]
  • 如果内置 SSL 套接字类型可以用于非阻塞 SSL I/O,那就太好了。目前,Twisted 等使用 SSL 实现异步服务器的包必须要求第三方包,例如 pyopenssl。
  • 基于 AST 的编译器:此分支未及时为 2.4 完成,但将在 2.4 最终版发布后某个时候合并到主干,以便包含在 2.5 中。
  • reST 将在 Zope3 中大量使用。也许它可以成为标准库模块?(由于 reST 的作者认为它过于不稳定,我倾向于不这样做。)

正在进行中的任务

以下是正在进行的待办事项,我们应该尝试着手处理,但不指望在任何特定日期完成。

  • 文档:完成分发和安装手册。
  • 文档:完成新式类的文档。
  • 检查 Demos/ 目录并按要求更新(Andrew Kuchling 已经做了很多)
  • 新测试。
  • 修复 SF 上的文档错误。
  • 移除核心中已弃用功能的使用。
  • 适当记录已弃用的功能。
  • 使用 Py_DEPRECATED 标记已弃用的 C API。
  • 弃用未维护的模块,或者为“未维护”模块创建新类别
  • 总的来说,进行大量清理以便更容易地向前发展。

开放问题

目前没有。

从 Python 2.3 继承的功能

  • 导入锁可能需要重新设计。 [2]
  • 一个更好的打开文本文件的 API,取代(在某些人看来)丑陋的“U”模式标志。有一个提案是引入一个新的内置类型 textfile(filename, mode, encoding)。(它不应该也有一个 bufsize 参数吗?)
  • Tkinter 的新组件???

    有人有时间做这个吗?Tk 8.4 中 新组件吗?请注意,我们已经有更好的 Tix 支持(尽管 Windows 上还没有)。

  • PEP 304 (Montanaro 关于控制字节码文件生成) 似乎已经失去了动力。
  • 对于在另一个类中定义的类,__name__ 应该为“outer.inner”,并且 pickling 应该有效。([3]。我不再确定这是否容易甚至正确。)
  • 确定更清晰的弃用策略(特别是对于模块)并付诸实施。首先,请参阅 Neal Norwitz 的这条消息 [4]。似乎没有足够的兴趣以有组织的方式推进此事,而且这也不是特别重要。
  • types 模块的常见用法提供替代方案;Skip Montanaro 已为此想法发布了一个原型 PEP [5]。据我所知,这方面没有任何进展。
  • typesstring 模块使用待定弃用。这要求为尚未涵盖的部分(例如 string.whitespacetypes.TracebackType)提供替代方案。似乎我们无法就此达成共识。
  • PEP 262 已安装 Python 包数据库 (Kuchling)

    事实证明这对 Jack Jansen 的 Python 安装程序很有用,因此值得实现该数据库。代码将放在 sandbox/pep262 中。

  • PEP 269 Python 的 Pgen 模块 (Riehl)

    (一些必要的更改已完成;pgen 模块本身需要更成熟。)

  • PEP 266 优化全局变量/属性访问 (Montanaro)

    PEP 267 优化模块命名空间访问 (Hylton)

    PEP 280 优化全局变量访问 (van Rossum)

    这些基本上是三个友好竞争的提案。Jeremy 在新编译器方面取得了一些进展,但进展缓慢,而且编译器只是第一步。也许我们能在这次发布中重构编译器。我倾向于认为我们不会抱太大希望。

  • 惰性跟踪元组?[6] [7] 我相信没有太多热情。
  • PEP 286 增强型参数元组 (von Loewis)

    我没有时间彻底审查这个。它似乎是一个深层的优化技巧(尽管也提供了更好的正确性保证)。

  • 将“as”设为关键字。它已经是一个伪关键字够久了。太费力了,不值得。

参考资料


来源:https://github.com/python/peps/blob/main/peps/pep-0320.rst

最后修改:2025-02-01 08:59:27 GMT