Création d'itérateurs de base en Python
Supposons que vous ayez une classe qui encapsule une collection de valeurs et que vous souhaitiez créer un itérateur qui vous permet pour accéder à ces valeurs de manière séquentielle.
Pour créer un itérateur, implémentez le protocole itérateur, qui nécessite de définir deux méthodes :
1. __iter__() : Initialise et renvoie l'objet itérateur lui-même.
2. __next__() : Renvoie la valeur suivante dans la séquence ou déclenche StopIteration s'il n'y a plus de valeurs.
Exemple d'itérateur :
Considérez la classe suivante avec une liste de valeurs :
class Example: def __init__(self, values): self.values = values # __iter__ returns the iterable itself def __iter__(self): return self # __next__ returns the next value and raises StopIteration def __next__(self): if len(self.values) > 0: return self.values.pop(0) else: raise StopIteration()
Utilisation :
Avec cet itérateur, vous pouvez parcourir les valeurs de la classe Exemple :
e = Example([1, 2, 3]) for value in e: print("The example object contains", value)
Ceci imprimera :
The example object contains 1 The example object contains 2 The example object contains 3
Itérateur Personnalisation :
Comme le montre l'exemple ci-dessus, la méthode next de l'itérateur peut contrôler la façon dont les valeurs sont récupérées et renvoyées, offrant une plus grande flexibilité pour les itérateurs personnalisés.
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!