Générateurs et itérateurs en Python
Les itérateurs et les générateurs de Python sont tous deux itérables, mais ils diffèrent par leur implémentation et leurs cas d'utilisation.
Itérateurs
Itérateurs sont des objets itérables qui fournissent une interface pour parcourir une séquence d'éléments. Ils ont deux méthodes principales :
Générateurs
Les générateurs sont un type spécial d'itérateur qui utilise le mot-clé rendement pour générer des valeurs à la volée . Lorsqu'elle est appelée, une fonction génératrice renvoie un objet générateur qui peut être itéré.
En interne, un générateur stocke un état d'exécution suspendu qui garde une trace de la position actuelle dans l'itération. Lors d'une itération sur un générateur, la méthode __next__ reprend la fonction suspendue et génère la valeur suivante. L'exécution est ensuite à nouveau suspendue jusqu'à l'itération suivante.
Cas d'utilisation
Utiliser des itérateurs :
Utilisez des générateurs :
Exemple
Considérons la fonction suivante qui génère des nombres carrés pour un donné range :
def squares(start, stop): for i in range(start, stop): yield i * i
Cette fonction crée un générateur qui produit des nombres carrés un par un. C'est plus efficace qu'une compréhension de liste ou un itérateur personnalisé, car cela évite de créer une liste intermédiaire de toutes les valeurs au carré.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!