Ответ 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 года.