2009-03-25 6 views
11

Quelle était la première version de python à inclure le else clause for for loops?Quelle version de python a ajouté la clause else pour les boucles for?

Je trouve que les docs python font généralement un bon travail de documentation quand des fonctionnalités ont été ajoutées, mais je n'arrive pas à trouver les informations sur cette fonctionnalité. (Il ne permet pas que « pour » et « autre » sont des conditions particulièrement difficiles Google sur un site Web de programmation)

Répondre

28

Il est présent depuis le début. Pour voir cela, obtenez la source de alt.sources, en particulier le message intitulé "Python 0.9.1 part 17/21". La date est le 21 février 1991. Ce poste comprend la définition de la grammaire, qui stipule:

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

Vous pourriez être en mesure de trouver les sources 0.9.0 si vous essayez plus dur que je l'ai fait, mais comme la première version publique était 0,9.0 le 20 février, cela vous reviendrait un jour. La version 0.9.1 était un correctif mineur qui n'affectait pas cette partie de la grammaire.

(Est-ce une référence UTSL ou ce que quand remonte la dernière fois que vous regardé un fichier shar;?)

BTW, je reconstruit la source originale et un peu tordu pour compiler sous GCC- 4.0 sur ma boîte OS X 10.4. Details pour ceux qui sont intéressés peu, y compris python-0.9.1.tar.gz.

L'historique de développement complet est disponible à partir du contrôle de version, même après avoir modifié deux fois les systèmes de contrôle de version. "hg log -p -r 6: 7" à partir de l'archive de cpython Mercurial montre que le "for/else" a été validé le Dim Oct 14 12:07:46 1990 +0000, et le commit précédent était Sat Oct 13 19:23 : 40 1990 +0000. pour/autre a fait partie de Python depuis Octobre 1990.

1

Depuis la version 1.0.1, au moins ..

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 
+0

http://stackoverflow.com/questions/685732/how-to-compile-python-1-0 – dbr

Questions connexes