Python -Create-Iterator
Erstellen Sie einen Iterator
Um ein Objekt/eine Klasse als Iterator zu erstellen, müssen Sie die Methoden
__iter__()
und
__next__()
zu Ihrem Objekt implementieren.
Wie Sie im Kapitel „ Python-Klassen/Objekte “ gelernt haben , haben alle Klassen eine Funktion namens
__init__()
, mit der Sie einige Initialisierungen vornehmen können, wenn das Objekt erstellt wird.
Die __iter__()
Methode verhält sich ähnlich, Sie können Operationen ausführen (Initialisieren usw.), müssen aber immer das Iterator-Objekt selbst zurückgeben.
Die __next__()
Methode ermöglicht Ihnen auch Operationen und muss das nächste Element in der Sequenz zurückgeben.
Beispiel
Erstellen Sie einen Iterator, der Zahlen zurückgibt, beginnend mit 1, und jede Sequenz wird um eins erhöht (gibt 1,2,3,4,5 usw. zurück):
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))