„yield“ ist ein einzigartiges Schlüsselwort in Python, mit dem Sie Generatoren erstellen können. Dabei handelt es sich um einen speziellen Typ von Iterierbaren. Iterables stellen Folgen von Werten dar, über die Sie iterieren können, z. B. Listen und Zeichenfolgen. Allerdings unterscheiden sich Generatoren von diesen dadurch, dass nicht alle Werte im Speicher gespeichert werden. Stattdessen erzeugen sie Werte im laufenden Betrieb, einen nach dem anderen.
Um Generatoren zu verstehen, ist es hilfreich, mit Iterablen zu beginnen. Iterables sind Objekte, die die Methode __iter__() implementieren und es Ihnen ermöglichen, ein Iteratorobjekt über die Funktion iter() abzurufen. Iteratoren implementieren die Methode __next__(), die das nächste Element in der Sequenz zurückgibt und eine StopIteration-Ausnahme auslöst, wenn keine Elemente mehr übrig sind.
Generatoren sind eine Art Iterable, die mit dem Schlüsselwort „yield“ erstellt wird. Generatoren sind einzigartig, weil sie die Ausführung bei jeder „yield“-Anweisung anhalten, sodass Sie jeweils einen Wert abrufen können. Wenn Sie den Generator verwenden, setzt er die Ausführung an der Stelle fort, an der er angehalten hat, und generiert den nächsten Wert. Dieser Vorgang wird fortgesetzt, bis der Generator alle seine Werte erschöpft hat. An diesem Punkt wird eine StopIteration-Ausnahme ausgelöst.
Um Generatoren zu verwenden, erstellen Sie eine Generatorfunktion, die eine oder enthält weitere „Ertrags“-Aussagen. Diese Funktion gibt ein Generatorobjekt zurück, über das mithilfe einer „for“-Schleife iteriert werden kann.
Hier ist ein Beispiel:
def generate_numbers(): for i in range(5): yield i
In diesem Beispiel ist „generate_numbers()“ eine Generatorfunktion, die iteriert über die Zahlen von 0 bis 4 und liefert jeden Wert. Um diesen Generator zu verwenden, können Sie ihn mithilfe einer „for“-Schleife durchlaufen:
for number in generate_numbers(): print(number)
Dieser Code gibt die Zahlen von 0 bis 4 aus.
Generatoren bieten mehrere Vorteile gegenüber herkömmlichen Iterables:
„yield“ ist ein leistungsstarkes Schlüsselwort in Python, mit dem Sie Generatoren erstellen können, eine einzigartige Art von Iteration, die Werte bei Bedarf generiert. Generatoren bieten Vorteile wie Speichereffizienz, verzögerte Auswertung und Flexibilität, was sie zu einem wertvollen Werkzeug in verschiedenen Programmierszenarien macht.
Das obige ist der detaillierte Inhalt vonWas bewirkt das Python-Schlüsselwort „yield' und wie werden Generatoren verwendet?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!