В какой версии python добавлено условие else для циклов for? - PullRequest
11 голосов
/ 25 марта 2009

Какая была первая версия python, включающая в себя условие else для циклов ?

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

Ответы [ 3 ]

28 голосов
/ 26 марта 2009

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

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

Возможно, вы сможете найти источники 0.9.0, если будете стараться изо всех сил, чем я, но, поскольку первый публичный выпуск был 20.9 февраля, 0.9.0, это вернуло бы вас однажды. Релиз 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 показывает, что «for / else» был зафиксирован в воскресенье 14 октября 12:07:46 1990 +0000, а предыдущий коммит был сб 13 октября 19:23 : 40 1990 +0000. for / else является частью Python с октября 1990 года.

7 голосов
/ 25 марта 2009

С тех пор как минимум 1.4 , который является самой старой версией документации , которую я знаю.

1 голос
/ 27 марта 2009

Начиная с версии 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...