


Was ist in Python der Unterschied zwischen Yield und Return?
In Python erfolgt die Definition von generator mit Hilfe der yield-Anweisung. Bevor wir also näher darauf eingehen, wofür Ertrag tatsächlich verwendet wird, ist es wichtig, einen Überblick über Generatoren zu erhalten. Wenn Sie neu bei Python sind, besteht eine gute Chance, dass Sie schon einmal einen Python-Generator verwendet haben. Generatoren spielen in Python eine wichtige Rolle. In Python können Iteratoren mithilfe von Generatoren generiert werden, der Prozess nimmt jedoch eine etwas andere Form an.
Python-Generatoren sind Funktionen, die dynamisch anhalten und fortsetzen und eine Folge von Ergebnissen erstellen können. Sie können auch zur Generierung von Zufallszahlen verwendet werden. In Python 2.2 wurden Generatoren erstmals als optionale Funktion eingeführt. In Python 2.3 werden sie erzwungen. Die Generatorfunktionalität wurde in Python 2.5 erheblich verbessert, obwohl sie bereits über ausreichende Funktionalität verfügt.
Um die Abwärtskompatibilität aufrechtzuerhalten, führte die Hinzufügung von Generatoren in Python 2.2 zur Einführung eines neuen Schlüsselworts namens „yield“. Um Generatoren verwenden zu können, müssen wir sie aus dem Modul _future_ importieren. Als Generatoren in der Python-Version 2.3 zum Standard wurden, wurde dies geändert, um der Tatsache Rechnung zu tragen, dass die Änderung nicht mehr erforderlich war.
Verwenden Sie die yield-Anweisung, um die Ausführung einer Funktion vorübergehend zu stoppen, die dann einen Wert an den Aufrufer zurückgibt und gleichzeitig den Status der Funktion für eine spätere Wiederherstellung speichert. Dies bedeutet, dass der gesamte Generator nach Erhalt des Rückgabewerts noch neu gestartet werden kann. Die Ausführung einer Funktion endet mit einer Return-Anweisung, die auch einen Wert an die Person zurückgibt, die die Funktion aufgerufen hat. Wenn es fehlt, gibt Ihre Funktion nichts zurück.
Was ist Python Yield?
In Python-Generatoren ersetzt die Anweisung yield die Anweisung return der Funktion, um einen Wert an die Person zurückzugeben, die den Generator aufgerufen hat, ohne lokale Variablen zu löschen. Um die Funktion der Ausführung von yield-Anweisungen in der Python-Programmierung besser zu verstehen, müssen Sie zunächst mit Generatoren vertraut sein.
Der Unterschied zwischen einer Generatorfunktion und einer normalen Funktion besteht darin, dass die Definition der Generatorfunktion eine „Ertrags“-Anweisung enthält. Es beginnt mit dem Schlüsselwort „yield“, das das Generatorobjekt identifiziert, das an denjenigen zurückgegeben werden soll, der diese Funktion aufruft.
In Python gibt ein bestimmter Funktionstyp namens „Generator“ keinen Datenwert an die Person zurück, die die Funktion aufgerufen hat, sondern stattdessen ein anderes Generatorobjekt. Mit Hilfe des Schlüsselworts yield können Sie die Ausführung einer Funktion vorübergehend stoppen, den Status speichern und die Funktion später wieder aufnehmen.
Beispiel
Schauen Sie sich das Beispiel unten an -
# Use of yield def printresult(String): for i in String: if i == "p": yield i # Initializing string String = "Happy Birthday" ans = 0 print ("The number of 'p' in word is: ", end = "" ) String = String.strip() for j in printresult(String): ans = ans + 1 print (ans)
Ausgabe
The number of 'p' in word is: 2
Was ist Python Return?
Im Gegensatz zur yield-Anweisung bewirkt die return-Anweisung, dass die Funktion beendet wird, während der Wert an die Funktion zurückgegeben wird, die sie aufgerufen hat. Funktionen, die eher prozeduraler Natur sind, geben nichts explizit an den Aufrufer zurück, sondern einen Wert, der an die aufrufende Funktion zurückgesendet wird. Obwohl eine Funktion mehrere Return-Anweisungen haben kann, kann bei jedem Aufruf jeder dieser Anweisungen nur eine davon aufgerufen werden.
Die return-Anweisung steht fast immer ganz am Ende eines Funktionsblocks. Ihr Zweck besteht darin, das Endergebnis der Ausführung aller in der Funktion enthaltenen Anweisungen zurückzugeben. Allerdings kann vor einem Funktionsblock auch eine return-Anweisung stehen, um die Ausführung aller nachfolgenden Anweisungen im Block zu stoppen. Dies kann auftreten, wenn damit die Ausführung einer Funktion verhindert wird. Dies führt dazu, dass der Aufrufer die Ausführung des Programms sofort neu startet. Wenn für das return-Objekt kein Wert angegeben wird, entspricht der Rückgabeobjekttyp „None“ dem in Python.
Beispiel
Das folgende Beispiel zeigt die Verwendung von return in Python -
# Show return statement class Test: def __init__(self): self.str = "Happy Birthday" self.x = "Pradeep" # This function returns an object of Test def fun(): return Test() # Driver code to test above method t = fun() print(t.str) print(t.x)
Ausgabe
Happy Birthday Pradeep
Unterschied zwischen Ertrag und Rendite in Python
Die folgende Tabelle hebt die wichtigsten Unterschiede zwischen Yield und Return in Python hervor -
Relativ einfach | Ausgabe | Rückkehr |
---|---|---|
Grundlagen | In den meisten Fällen müssen Sie die Yield-Funktion verwenden, um eine typische Python-Funktion in einen Generator umzuwandeln. | In den meisten Fällen wird das Ende der Ausführung durch die Verwendung des Schlüsselworts return signalisiert, das das Ergebnis an die Anweisung „zurückgibt“, die es aufgerufen hat. |
Funktionen | Es ersetzt die Rückgabe einer Funktion, um die Ausführung der Funktion anzuhalten, ohne lokale Variablen zu verlieren. | Es verlässt die Funktion und gibt einen Wert an den Aufrufer zurück. |
Verwenden | Der Anrufer verwendet diese Funktion, wenn der Generator dem Anrufer Zwischenergebnisse liefert. | Wenn eine Funktion einen Wert übergeben soll, muss dieser verwendet werden. |
Ausführen | Der nach der yield-Anweisung geschriebene Code wird im folgenden Funktionsaufruf ausgeführt. | Obwohl der nach der Return-Anweisung geschriebene Code nicht ausgeführt wird. |
Kompilieren | Es kann mehrmals ausgeführt werden. | Es läuft jeweils nur einmal. |
Fazit
Dieyield-Anweisung generiert ein Generatorobjekt und kann mehrere Werte an den Aufrufer zurückgeben, ohne das Programm zu beenden, während die return-Anweisung verwendet wird, um aus der Funktion heraus einen Wert an den Aufrufer zurückzugeben, der das Programm beendet. Die Return-Anweisung wird verwendet, um einen Wert innerhalb einer Funktion an den Aufrufer zurückzugeben.
Das obige ist der detaillierte Inhalt vonWas ist in Python der Unterschied zwischen Yield und Return?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Um mit Quantum Machine Learning (QML) zu beginnen, ist das bevorzugte Tool Python und Bibliotheken wie Pennylane, Qiskit, TensorFlowquantum oder Pytorchquantum müssen installiert werden. Machen Sie sich dann mit dem Prozess vertraut, indem Sie Beispiele ausführen, z. B. Pennylane zum Aufbau eines Quanten neuronalen Netzwerks. Implementieren Sie das Modell dann gemäß den Schritten der Datensatzvorbereitung, der Datencodierung, der Erstellung parametrischer Quantenschaltungen, klassisches Optimierer -Training usw.; Im tatsächlichen Kampf sollten Sie es vermeiden, komplexe Modelle von Anfang an zu verfolgen, Hardwarebeschränkungen zu beachten, hybride Modellstrukturen einzusetzen und kontinuierlich auf die neuesten Dokumente und offiziellen Dokumente zu verweisen, um die Entwicklung zu verfolgen.

Dieser Artikel hat mehrere "Fertig" -Projekt-Websites von Python und "Blockbuster" -Portalen "Blockbuster" für Sie ausgewählt. Egal, ob Sie nach Entwicklungsinspiration suchen, den Quellcode auf Master-Ebene beobachten und lernen oder Ihre praktischen Fähigkeiten systematisch verbessern, diese Plattformen sind nicht zu übersehen und können Ihnen helfen, schnell zu einem Python-Meister zu werden.

Verwenden Sie Subprozess.run (), um die Befehle von Shell sicher auszuführen und die Ausgabe zu erfassen. Es wird empfohlen, Parameter in Listen zu übergeben, um Einspritzrisiken zu vermeiden. 2. Wenn die Shell -Eigenschaften erforderlich sind, können Sie Shell = True einstellen, aber achten Sie auf die Befehlsinjektion. 3. verwenden subprocess.popen, um die Echtzeit-Ausgangsverarbeitung zu realisieren. 4. Setzen Sie check = true, um Ausnahmen zu werfen, wenn der Befehl fehlschlägt. 5. Sie können direkt Ketten anrufen, um die Ausgabe in einem einfachen Szenario zu erhalten. Sie sollten Subprozess vorrangig machen. Die obigen Methoden überschreiben die Kernverwendung der Ausführung von Shell -Befehlen in Python.

Verwenden Sie die Jointplot von Seeborn, um die Beziehung und Verteilung zwischen zwei Variablen schnell zu visualisieren. 2. Das grundlegende Streudiagramm wird durch sns.jointplot (data = tips, x = "total_bill", y = "tip", sort = "scatter") implementiert, das Zentrum ist ein Streudiagramm und das Histogramm wird auf der oberen und unteren und rechten Seite angezeigt. 3. Fügen Sie Regressionslinien und Dichteinformationen zu einer Art "Reg" hinzu und kombinieren Sie Marginal_KWS, um den Edge -Plot -Stil festzulegen. 4. Wenn das Datenvolumen groß ist, wird empfohlen, "Hex" zu verwenden,

Um Python -Webcrawler zu beherrschen, müssen Sie drei Kernschritte erfassen: 1. Verwenden Sie Anfragen, um eine Anfrage zu initiieren, Webseiteninhalte durch GET -Methode zu erhalten, die Einstellung von Headern zu beachten, Ausnahmen zu bearbeiten und Robots.txt zu entsprechen. 2. Verwenden Sie BeautifulSoup oder XPath, um Daten zu extrahieren. Ersteres eignet sich zum einfachen Parsen, während letzteres flexibler und für komplexe Strukturen geeignet ist. 3.. Verwenden Sie Selen, um Browseroperationen für dynamische Ladeinhalte zu simulieren. Obwohl die Geschwindigkeit langsam ist, kann sie mit komplexen Seiten fertig werden. Sie können auch versuchen, eine Website -API -Schnittstelle zu finden, um die Effizienz zu verbessern.

Verwenden Sie httpx.asyncclient, um asynchrone HTTP -Anforderungen effizient zu initiieren. 1. Basic-Get-Anfragen verwalten Clients über Asyncwith und verwenden Sie AwaitClient.get, um nicht blockierende Anforderungen zu initiieren. 2. kombiniert asyncio.gather, sich mit asyncio zu kombinieren. Gather kann die Leistung erheblich verbessern, und die Gesamtzeit entspricht der langsamsten Anfrage. 3.. Unterstützen Sie benutzerdefinierte Header, Authentifizierung, Base_url und Zeitüberschreitungseinstellungen; 4. kann Postanfragen senden und JSON -Daten tragen; 5. Achten Sie darauf, dass das Mischen von synchronem asynchronem Code vermieden wird. Der Proxy-Support muss auf die Back-End-Kompatibilität achten, die für Crawlers oder API-Aggregation und andere Szenarien geeignet ist.

String -Listen können mit der join () -Methode wie '' .Join (Words) zusammengeführt werden, um "helloWorldfrompython" zu erhalten; 2. Die Zahlenlisten müssen vor dem Beitritt in Zeichenfolgen mit Karte (STR, Zahlen) oder [STR (x) ForxInnumbers] konvertiert werden. 3. Jede Typliste kann direkt in Zeichenfolgen mit Klammern und Zitaten umgewandelt werden, die zum Debuggen geeignet sind. 4. Benutzerdefinierte Formate können durch Generatorausdrücke in Kombination mit Join () implementiert werden, wie z.

Installieren Sie PYODBC: Verwenden Sie den Befehl pipinstallpyoDBC, um die Bibliothek zu installieren. 2. SQLServer verbinden: Verwenden Sie die Verbindungszeichenfolge, die Treiber, Server, Datenbank, UID/PWD oder Trusted_Connection über die Methode Pyodbc.Connect () und die SQL -Authentifizierung bzw. der Windows -Authentifizierung unterstützen; 3. Überprüfen Sie den installierten Treiber: Führen Sie Pyodbc.Drivers () aus und filtern Sie den Treibernamen mit 'SQLServer', um sicherzustellen, dass der richtige Treiberame wie 'ODBCDRIVER17 für SQLServer' verwendet wird. 4. Schlüsselparameter der Verbindungszeichenfolge
