Dis papa, dis papa, dis-moi, dis-moi. Comment c’est fait dans une boucle for
?
C’est pas compliquéééééééééééé, j’vais tout t’expliquuuuuerrrrrrrrrr.
C´est le p´tit zinzin qui passe par ici:
>>> class MonIterable(object): # faisons notre propre itérable ... ... def __init__(self): ... self.values = [1, 2] ... ... def __iter__(self): # ('for' appelle __iter__ automatiquement) ... return self # __iter__ doit renvoyer un iterateur, ici nous-même ... ... def next(self): # chaque tour de boucle, for appelle next() ... if self.values: # qui retourne une des valeus de self.values ... return self.values.pop() # en l'enlevant de la liste initiale ... raise StopIteration() # si il y en a plus, il dit stop ! ... |
Et qui va toucher le p´tit machinnnnnnnnnnnnnnnnnnnnnnnnn !
>>> for x in MonIterable(): # ceci appelle next() jusqu'à StopIteration ... print x 2 1 |
Et le p´tit machin qui repasse par là:
>>> iterateur = iter(MonIterable()) # Voilà ce que ça donne à la main >>> iterateur.next() 2 >>> iterateur.next() 1 >>> iterateur.next() # l'exception: mécanisme naturel de Python pour stopper une boucle ! Traceback (most recent call last): File "<pyshell#9>", line 19, in <module> iterateur.next() File "<pyshell#9>", line 14, in next raise StopIteration() StopIteration |
Et qui fait marcher ce p´tit zinzinnnnnnnnnnnnn !
>>> iterateur = iter(range(3)) # c'est pareil pour tous les iterables >>> iterateur.next() # un iterateur est juste un truc avec une méthode next() 0 >>> iterateur.next() # next() doit retourner la prochain valeur de l'iterable 1 >>> iterateur.next() # un itérateur itère donc sur un iterable 2 >>> iterateur.next() # jusqu'à la fin, où il lève StopIteratino Traceback (most recent call last): File "<ipython-input-19-6c9f9efdd35c>", line 1, in <module> iterateur.next() StopIteration |
Ah bon ?
Les boucles For, Ca me rappelle mes cours d’informatique au lycée (en 1ère S) sur TurboPascal (j’ai pas fait de programmation depuis ^^’)
Mais kesssss tu fous sur ce site alors ? Tu viens que pour les articles de pron ?
Plus ou moins, sam, c’est pas le seul.
On vient pour la prog, on revient pour le pron.
Je connais même pas python, donc je suis déçu par l’article, ça manque d’images.
Ps : je vous ai référencé sur un mon site -18 préféré, ça va vous faire des visiteurs passionnés.
\o/
En tout cas vu la chanson de référence, on peut considérer que cet article parle de sexe.
Sinon, pour accélérer les boucles for numériques, y’a cython (ça les transforme en boucles for C de base).
Pour ma part, je n’écrit pas de python.
Je modifie des codes existants, je les recompiles, et…
Je m’arrache les cheveux et les poils des bras.
On s’amuse comme on peut…
Heureusement que “Kontre” relève le niveau..
Pass’queue ta boucle for..Tu peut te la mettre où je pense..
Si on commence à aller voir ce qui se passe dans le trou du cul du chien,on est pas sorti…
T’ain! y se passe vraiment des trucs bizarres sur ce site.
Y’a un bonhomme à tête de concombre qui est subitement apparut à coté de mon message …!
En fait, on vient tous pour le pron. En fait, je viens surtout pour le ton étant donné que je ne suis pas branché minou ^^
Puis je désespère pas, un jour, je réapprendrais à programmer -_-
C’est vrai qu’on met jamais de truc gay sur le site. C’est discriminatoire.
La prochaine fois je posterai un gang bang entre pompiers. Y a pas de raison !
‘Tain, je suis le seul à venir pour python ?
Nan, max m’a confié que des fois il lisait les articles Python lui aussi.
La boucle FOR, ça c’est fort… arf’ ^_^
Python || Pr0n || *
A la base, je venais pour Python…mais ça, c’était à la base (oui parce que je voulais découvrir python et m’y mettre et puis finalement, j’ai pas plus qu’avant mais je lis tous les articles…même si je ne comprends pas tout) !
Ouaip j’en maitrise pas plus finalement…parce que les bushMen de chez moi préfèrent rester à capillotracter avec Perl et ne veulent pas entendre parler de Python ; donc je n’ai pas cherché à approfondir (journées de 24h et déjà overQuota pour le temps disponible).
A l’image de Chassegnouf, le ton du blog me botte (bon par contre, moi je préfère nettement les minous) et ça fait que j’y reviens…
Et puis voilà ! :-)
Pour le code sous “Et le p´tit machin qui repasse par là:” :
Il manque les parenthèses
et les valeurs renvoyées devraient être 2 et 1, au lieu de 0, 1, 2.
Merci cladmi. Ah on sent que c’est les fêtes et qu’il y a du relachement.