Python

Python-Ausbeute

Python-Ausbeute

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:

Ertragswert

Beispiele

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 bestimmen
def 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 deklarieren
def 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ürfelwerts
def 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.

Kostenlose und Open-Source-Spiele-Engines für die Entwicklung von Linux-Spielen
Dieser Artikel behandelt eine Liste von kostenlosen und Open-Source-Spiele-Engines, die für die Entwicklung von 2D- und 3D-Spielen unter Linux verwend...
Shadow of the Tomb Raider für Linux Tutorial
Shadow of the Tomb Raider ist die zwölfte Erweiterung der Tomb Raider-Reihe – ein Action-Adventure-Franchise von Eidos Montrealdos. Das Spiel wurde vo...
So steigern Sie die FPS unter Linux?
FPS steht für Bilder pro Sekunde. Die Aufgabe von FPS besteht darin, die Bildrate bei Videowiedergaben oder Spielleistungen zu messen. In einfachen Wo...