Какая версия python добавила условие else для циклов?

Какова была первая версия python для включения else для for loops?

Я нахожу, что документы python обычно хорошо документируют, когда добавляются функции, но я не могу найти информацию об этой функции. (Это не помогает, что "для" и "еще" - это особенно сложные термины для Google на веб-сайте программирования.

Ответ 1

Он присутствовал с самого начала. Чтобы увидеть это, получите источник из alt.sources, в частности сообщение под названием " Python 0.9.1 часть 17/21". Дата - 21 февраля 1991 года. В этот пост включено определение грамматики, в котором говорится:

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

Возможно, вы сможете найти источники 0.9.0, если будете стараться больше, чем я, но поскольку первый публичный выпуск был 0.9.0 20 февраля, это вернет вас однажды. Выпуск 0.9.1 был небольшим патчем, который не повлиял на эту часть грамматики.

(Это ссылка UTSL или что? Когда вы в последний раз смотрели на файл shar?;)

Кстати, я восстановил исходный исходный код и немного изменил его для компиляции под gcc-4.0 в моем ящике OS X 10.4. Подробности для тех, кому это интересно, в том числе python-0.9.1.tar.gz.

Вся история разработки доступна из управления версиями, даже после смены систем управления версиями в два раза. "hg log -p -r 6: 7" из cpython Mercurial archive показывает, что "for/else" было совершено на Sun Oct 14 12:07:46 1990 +0000, а предыдущее было сб 13 окт 19:23: 40 1990 +0000. for/else был частью Python с октября 1990 года.

Ответ 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