Itérateur de création Python
Créer un itérateur
Pour créer un objet/une classe en tant qu'itérateur, vous devez implémenter les méthodes
__iter__()
et
__next__()
votre objet.
Comme vous l'avez appris dans le chapitre Classes/Objets Python , toutes les classes ont une fonction appelée
__init__()
, qui vous permet d'effectuer une initialisation lors de la création de l'objet.
La __iter__()
méthode agit de la même manière, vous pouvez effectuer des opérations (initialisation, etc.), mais vous devez toujours renvoyer l'objet itérateur lui-même.
La __next__()
méthode vous permet également d'effectuer des opérations et doit renvoyer l'élément suivant dans la séquence.
Exemple
Créez un itérateur qui renvoie des nombres, en commençant par 1, et chaque séquence augmentera de un (renvoyant 1,2,3,4,5 etc.) :
class MyNumbers:
def __iter__(self):
self.a =
1
return self
def __next__(self):
x = self.a
self.a += 1
return x
myclass = MyNumbers()
myiter = iter(myclass)
print(next(myiter))
print(next(myiter))
print(next(myiter))
print(next(myiter))
print(next(myiter))