Yield ist ein in Python integriertes Schlüsselwort, das den/die Wert(e) einer Funktion zurückgibt. Die Ausführung der Funktion wird nicht beendet. Stattdessen gibt es den Wert an den Aufrufer zurück und behält den Ausführungsstatus der Funktion bei. Die Ausführung der Funktion wird ab der letzten Yield-Anweisung fortgesetzt. Die Ausbeute ermöglicht es uns, eine Folge von Werten statt eines Wertes zu erzeugen. Es wird innerhalb eines Funktionskörpers verwendet. Die Funktion, die eine Ertragsaussage enthält, wird als Generatorfunktion bezeichnet.
Es gibt mehrere Vorteile, Keywords zu liefern. Es steuert beispielsweise die Speicherzuweisung und speichert den lokalen Variablenstatus. Es erhöht jedoch die Komplexität des Codes.
In diesem Artikel wird die Verwendung des Schlüsselworts yield anhand von Beispielen erklärt.
Syntax von Ertrag
Die Ertragssyntax ist einfach und unkompliziert and. Der Ertrag wird mit dem Schlüsselwort Yield und der Syntax wie folgt eingeleitet:
ErtragswertBeispiele
Sehen wir uns nun Beispiele an, um die Verwendung und Funktionsweise von Yield-Anweisungen zu verstehen. Traditionell beendet das Schlüsselwort return die Ausführung des Programms und gibt am Ende einen Wert zurück, während yield die Folge von Werten zurückgibt. Es speichert den Wert nicht im Speicher und gibt den Wert zur Laufzeit an den Aufrufer zurück. Im folgenden Beispiel wird eine Generatorfunktion definiert, um das Schaltjahr zu bestimmen. Ein Sprung ist das Jahr, in dem durch vier teilbar Null als Rest zurückgegeben wird. Das Schlüsselwort yield gibt den Wert des Schaltjahres an den Aufrufer zurück. Da es den Wert des Schaltjahres erhält, wird die Programmausführung angehalten, der Wert zurückgegeben und dann die Ausführung dort fortgesetzt, wo sie gestoppt wurde.
#Erklärung eines Generators, um das Schaltjahr zu bestimmendef Leapfunc(my_list):
für i in my_list:
if(i%4==0):
#Ausbeute verwenden
Ertrag ich
#Erklärung der Jahresliste
year_list=[2010,2011,2012,2016,2020,2024]
print("Schaltjahrwerte drucken")
für x in Leapfunc(year_list):
drucken (x)
Ausgabe
Die Ausgabe zeigt die Reihe der Schaltjahre.
Sehen wir uns ein weiteres Beispiel an, bei dem die Generatorfunktion verschiedene Zahlen und Strings liefert.
#eine Generatorfunktion deklarierendef myfunc():
Ertrag "Markieren"
ergeben "Johannes"
Ertrag "Taylor"
Ertrag "Ivan"
Ertrag 10
Ertrag 20
Ertrag 30
Ertrag 40
Ertrag 50
#Aufrufen und Durchlaufen der Generatorfunktion
für ich in myfunc():
#Werte drucken
drucken(i)
Ausgabe
Lassen Sie uns eine Generatorfunktion implementieren, um den Würfelwert einer Zahlenfolge zu berechnen und zu drucken. Wir generieren die Würfelwerte von 1 bis 30.
#deklarieren einer Generatorfunktion zum Berechnen des Würfelwertsdef kalkulator():
Wert=1
#die unendliche while-Schleife
während Wahr:
#Berechnungswürfel
Ertrag val*val*val
#Wert um 1 erhöhen
val=val+1
print("Die Würfelwerte sind: ")
#Aufruf der Generatorfunktion
für i in calcule():
wenn ich > 30:
Unterbrechung
drucken(i)
Ausgabe
Die Ausgabe zeigt den Würfelwert von weniger als 30.
Fazit
Yield ist ein in Python integriertes Schlüsselwort, das die Ausführung des Programms nicht beendet und eine Reihe von Werten generiert. Im Vergleich zum Schlüsselwort return erzeugt das Schlüsselwort yield mehrere Werte und kehrt zum Aufrufer zurück. Dieser Artikel erklärt den Python Yield mit Beispielen.