【问题标题】:Which version of python added the else clause for for loops?哪个版本的python为for循环添加了else子句?
【发布时间】:2009-03-25 15:48:24
【问题描述】:

第一个包含else clause for for loops 的python 版本是哪个?

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

【问题讨论】:

    标签: python for-loop


    【解决方案1】:

    它从一开始就存在。要查看这一点,请从 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 下编译。 Details 为少数感兴趣的人提供,包括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 的一部分。

    【讨论】:

      【解决方案2】:

      它至少从 1.4 就已经存在了,这是我所知道的 oldest version of the documentation

      【讨论】:

      • 我想出了同样的答案,只是不够快。
      【解决方案3】:

      从 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
      

      【讨论】:

        猜你喜欢
        • 2021-12-31
        • 2018-09-14
        • 2023-03-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-03-07
        相关资源
        最近更新 更多