Unterschied zwischen Pythonertrag und Python -Rückkehr

Unterschied zwischen Pythonertrag und Python -Rückkehr

Die Ertragserklärung wird verwendet, um Generatoren in Python zu definieren. Bevor wir also auf den genauen Ertrag eingehen, müssen wir zuerst das Konzept der Generatoren verstehen. Generatoren spielen eine wichtige Rolle in Python und wenn Sie tief in der Python -Programmierung eingehen, haben Sie die Chancen wahrscheinlich bereits mit Python -Generatoren gearbeitet. Generatoren werden verwendet, um Iteratoren in Python zu erstellen, jedoch mit einem anderen Ansatz.

Ein Python -Generatoren sind Funktionen, die eine Folge von Ergebnissen erzeugen und dynamisch angehalten und wieder aufgenommen werden können. Generatoren wurden zuerst als optionales Merkmal in Python 2 hinzugefügt.2 und Standard in Python 2 gemacht.3. Obwohl sie leistungsstark genug waren, wurden die Generatorenfunktionen in Python 2 signifikant verbessert.5.

Wenn Generatoren in Python 2 zurückgegeben wurden.In 2 wurden ein neues Schlüsselwort „Ertrag“ für die Rückwärtskompatibilität eingeführt, für das wir Generatoren aus dem Modul _future_ importieren mussten, um sie zu verwenden. Dies wurde in der Python Version 2 geändert.3 Als Generatoren Standard wurden und es nicht mehr notwendig war.

Die Ertragserklärung setzt die Ausführung einer Funktion aus und sendet einen Wert an den Anrufer zurück, während der Zustand spart und später wieder aufgenommen wird, was bedeutet, dass der gesamte Generator selbst nach Erhalt des Rückgabewert. Eine Rückgabeanweisung beendet die Ausführung der Funktion und sendet einen Wert an den Anrufer zurück. Ohne sie gibt Ihre Funktion nichts zurück. Lassen Sie uns einen guten Blick darauf werfen, wann die Rendite verwendet und wann Sie in Python die Rückkehr verwenden können, um den Unterschied zwischen den beiden besser zu verstehen.

Was ist Pythonertrag??

Die Ertragsanweisung wird in Python -Generatoren verwendet, um die Rückgabe einer Funktion zu ersetzen, um einen Wert an seinen Anrufer zurückzusenden, ohne lokale Variablen zu zerstören. Um besser zu verstehen, welche Rolle die Ertragsaussage bei der Python -Programmierung spielt, müssen Sie verstehen, was Generatoren sind.

Generatorfunktionen werden per Definition genau wie reguläre Funktionen erstellt, enthalten jedoch eine Ertragsaussage. Dies beginnt mit dem Schlüsselwort „Ausbeute“, das das Generatorobjekt an den Anrufer angibt. Ein Generator ist eine spezielle Funktion in Python, die ein Generatorobjekt eher dem Anrufer als an einen Datenwert zurückgibt. Das Keyword für Ertragsrendite hat die einzigartig.

Was ist Python -Rückkehr?

Die Return -Anweisung wendet sich im Gegensatz zur Ertragserklärung aus einer Funktion aus und gibt einen Wert an seinen Anrufer weiter. Funktionen geben einen Wert an ihre Anrufer zurück und diejenigen, die prozeduraler sind. Während eine Funktion mehrere Rückgabeberechnungen haben kann, kann nur eine von ihnen für eine bestimmte Aufruf der Funktion aufgerufen werden.

In der Regel wird am Ende eines Funktionsblocks eine Rückgabeanweisung angezeigt, um das Endergebnis der Ausführung aller in dieser Funktion enthaltenen Aussagen zurückzusetzen. Es kann jedoch auch früher im Funktionsblock angezeigt werden, um die Ausführung aller nachfolgenden Aussagen in diesem Block zu stoppen. Dies setzt sofort die Ausführung des Programms im Anrufer wieder auf. Wenn kein Wert angegeben ist, ist der äquivalente Rückgabeobjekttyp in Python "keine".

Unterschied zwischen Pythonertrag und Rückkehr

  1. Grundlagen im Zusammenhang mit Pythonertrag und Rückkehr

    • Die Ertragsanweisung wird in Python -Generatoren verwendet, um die Rückgabe einer Funktion zu ersetzen, um einen Wert an seinen Anrufer zurückzusenden, ohne lokale Variablen zu zerstören. Ein Generator ist eine spezielle Funktion in Python, die ein Generatorobjekt eher dem Anrufer als an einen Datenwert zurückgibt.
    • Die Return -Anweisung wendet sich im Gegensatz zur Ertragserklärung aus einer Funktion aus und gibt einen Wert an seinen Anrufer weiter. In der Regel wird am Ende eines Funktionsblocks eine Rückgabeanweisung angezeigt, um das Endergebnis der Ausführung aller in dieser Funktion enthaltenen Aussagen zurückzusetzen. Alle Funktionen geben einen Wert zurück, und wenn kein Wert angegeben ist, gibt es "keine" zurück.
  1. Generatoren vs. Funktionen in Pythonertrag und Rückkehr

    • Die Ertragserklärung wird explizit bei Python -Generatoren verwendet. Syntaktisch ist ein Generator eine Funktion mit einer Ertragsanweisung. Während eine Funktion mehrere Rückgabeberechnungen haben kann, kann nur eine von ihnen für eine bestimmte Aufruf der Funktion aufgerufen werden.
    • Im Gegensatz zu einer Funktion, die nur einmal zurückgibt, können Generatoren die Ausführung einstellen und Zwischenergebnisse ergeben. Jeder Generator wird als Funktion definiert, aber anstelle des Rückgabe -Schlüsselworts wird im Funktionsblock ein Rendite -Keyword verwendet.
  1. Ausführung von Pythonertrag und Rendite

    • Die Rückgabeanweisung beendet die Ausführung einer Funktion und sendet einen Wert an seinen Anrufer zurück. Funktionen geben einen Wert an ihre Anrufer zurück und diejenigen, die prozeduraler sind. Was ist im Grunde genommen der Ausgang aus einer Funktion und zerstören Sie alle lokalen Werte innerhalb.
    • Die Rendite -Anweisung hingegen ersetzt den Rückgabewert einer Funktion, um ihre Ausführung auszusetzen, und sendet den Wert an seinen Anrufer zurück, ohne lokale Variablen zu zerstören. Im Gegensatz zur Rückkehrfunktion wird jedoch die Ausführung der Funktion wieder aufgenommen, von der sie aufgehört wurde.

Pythonertrag vs. Rückgabe: Vergleichstabelle

Zusammenfassung der Pythonertrag und Rückgabe

Syntaktisch ist Ausbeute ein Schlüsselwort, das genauso wie das Return -Keyword verwendet werden kann, mit Ausnahme der Rückgabeanweisung beendet die Ausführung Ihrer Funktion und sendet einen Wert an seinen Anrufer zurück. Die Funktionalität der Return -Anweisung besteht darin, Inputs zu übernehmen und etwas an den Anrufer zurückzugeben. Im Gegensatz zu einer Rendite wird die Ertragserklärung ausdrücklich zum Definieren von Generatoren verwendet, wodurch der Rückgabewert einer Funktion ersetzt wird.