Chapitre 5 / 10
Itérateurs, générateurs et context managers
10 leçons dans ce chapitre.
Le protocole d'itération : __iter__ et __next__
Une boucle sur une liste fonctionne grâce à un mécanisme précis : Python appelle sur la liste pour obtenir un itérateur, puis appe…
Voir les détails du chapitre
Une boucle sur une liste fonctionne grâce à un mécanisme précis : Python appelle sur la liste pour obtenir un itérateur, puis appelle sur cet itérateur, encore et encore, jusqu'à ce qu'il n'y ait plus rien. Ce code affiche , , puis . appelle sur la liste et renvoie un itérateur ; appelle dessus, qui renvoie une valeur à la fois, en avançant à chaque appel. Un quatrième appel à lèverait une : c'est…
Créer un itérateur personnalisé
Une classe peut implémenter et ellemême, pour devenir utilisable directement dans une boucle — exactement comme une liste ou une c…
Le mot-clé yield : une fonction génératrice
Écrire / à la main est verbeux pour un cas simple. Une fonction génératrice, contenant au moins un , produit le même résultat bien…
Générateur avec plusieurs yield et état conservé
Une fonction génératrice peut contenir plusieurs à des endroits différents, pas seulement dans une boucle — chaque suspend l'exécu…
Expressions génératrices
Une expression génératrice, déjà entrevue dans Python Intermédiaire (), est une compréhension entre parenthèses plutôt qu'entre cr…
Un aperçu du module itertools
Le module de la bibliothèque standard fournit des générateurs prêts à l'emploi pour des motifs d'itération courants — , et en sont…
Comment fonctionne réellement with
Python Intermédiaire a montré sans expliquer son mécanisme interne. Un objet utilisable avec est un context manager : il implément…
Créer un context manager avec une classe
Un context manager personnalisé est utile pour garantir qu'une action de nettoyage a toujours lieu à la sortie d'un bloc — pas seu…
Créer un context manager avec @contextmanager
Écrire une classe complète avec / est verbeux pour un cas simple. transforme une fonction génératrice (vue dans ce chapitre) en co…
Cas pratique : un générateur de pagination et un context manager
Cette dernière leçon combine une fonction génératrice et un context manager avec , pour parcourir une longue liste par petits grou…
Quiz de chapitre
6 questions transversales sur ce chapitre.
Progression du chapitre
0/10 terminées
Accès complet
La première leçon de chaque chapitre est gratuite (10 leçons sur 97).
2 500 XOF / 3,81 € / 4,15 $
Débloquez les 87 leçons restantes de ce module