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 版本发布之前,可能会添加一些小的功能。在最终版本发布之前,可能会修复一些 Bug。

将至少发布两个 Alpha 版本、两个 Beta 版本和一个 Release Candidate 版本。发布日期为 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 日:最终版本 [已完成]

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 中列出的模块(posixfilegopherlibpreothers
  • 删除对 PEP 11 中描述的平台的支持。
  • 完成 Distutils bdist_dpkg 命令的实现。(AMK)
  • 添加对读取 shadow 密码的支持 [1]
  • 如果内置的 SSL 套接字类型可以用于非阻塞 SSL I/O 就好了。目前,使用 SSL 实现异步服务器的包(如 Twisted)必须依赖于第三方包(如 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”,并且 pickle 操作应该可以正常工作。([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

上次修改:格林威治标准时间 2023 年 9 月 9 日 17:39:29