14

哪个是第一个包含for 循环 else 子句的 python 版本?

我发现 python 文档通常可以很好地记录添加功能的时间,但我似乎无法找到有关此功能的信息。(在编程网站上搜索“for”和“else”是特别困难的术语并没有帮助)

4

3 回答 3

31

它从一开始就存在。要查看这一点,请从 alt.sources 获取源代码,特别是标题为“ Python 0.9.1 part 17/21 ”的消息。日期是 1991 年 2 月 21 日。这篇文章包括语法定义,其中指出:

for_stmt: 'for' exprlist 'in' exprlist ':' suite ['else' ':' suite] 

如果你比我更努力的话,你也许能找到 0.9.0 的源代码,但由于第一次公开发布是 2 月 20 日的 0.9.0,那你总有一天会回来的。0.9.1 版本是一个不影响这部分语法的小补丁。

(这是UTSL参考还是什么?最后一次查看 shar 文件是什么时候?;)

顺便说一句,我重建了原始源代码并对其进行了一些调整,以便在我的 OS X 10.4 机器上的 gcc-4.0 下编译。少数感兴趣的人的详细信息,包括python-0.9.1.tar.gz

整个开发历史都可以从版本控制中获得,即使在两次更改版本控制系统之后也是如此。cpython Mercurial 存档中的“hg log -p -r 6:7”显示“for/else”是在 1990 年 10 月 14 日星期日 12:07:46 +0000 提交的,之前的提交是 10 月 13 日星期六 19:23 :40 1990 +0000。for/else 自 1990 年 10 月以来一直是 Python 的一部分。

于 2009-03-26T01:05:03.297 回答
7

它至少从1.4开始就存在了,这是我所知道的文档的最旧版本。

于 2009-03-25T15:57:15.703 回答
1

从 1.0.1 版开始,至少..

Python 1.0.1 (Mar 27 2009)
Copyright 1991-1994 Stichting Mathematisch Centrum, Amsterdam
>>> for x in range(2):
...     print x
... else:
...     print "loop done"
... 
0
1
loop done
于 2009-03-27T02:11:14.303 回答