Benutzer-Werkzeuge

Webseiten-Werkzeuge


python:generator

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
python:generator [2020/03/02 10:44]
root
python:generator [2020/03/05 13:46] (aktuell)
root [Generator Expressions]
Zeile 32: Zeile 32:
 Der Generator wird einmal aufgerufen (per next) und arbeitet dann einmal die Anweisungen in Klammern durch bis ein Ergebnis gefunden wird -> die Anweisung ist durchlaufe alle Werte von a und gebe etwas zurück wenn der aktuelle Wert der Schleife 4 ist.\\ \\ Der Generator wird einmal aufgerufen (per next) und arbeitet dann einmal die Anweisungen in Klammern durch bis ein Ergebnis gefunden wird -> die Anweisung ist durchlaufe alle Werte von a und gebe etwas zurück wenn der aktuelle Wert der Schleife 4 ist.\\ \\
 Der Vorteil hier ist, die Schleife wird nur bis zum erreichen von 4 ausgeführt, danach beendet und die Anweisung ist wesentlich übersichtlicher als eine for-Schleife mit break-Statement. Der Vorteil hier ist, die Schleife wird nur bis zum erreichen von 4 ausgeführt, danach beendet und die Anweisung ist wesentlich übersichtlicher als eine for-Schleife mit break-Statement.
 +
 +
 +===== Alle Ergebnisse eines Generators =====
 +
 +<sxh python>
 +a=*(records.name for i in records)
 +</sxh>
 +Oben stehendes würde ein Expansion auf den Generator machen und alle Ergebnisse des Generators in a speichern.
 +====== Hilfs-Ausdrücke ======
 +
 +  * next -> Ruft die __next__-Methode eines Generators auf/generiert das nächste Ergebnis
 +  * more%%_%%itertools.first -> Gibt den ersten Wert eines Generators zurück - im Prinzip wie einmalig next aufrufen, aber erlaubt die Rückgabe eines Default-Wertes wenn StopIteration auftritt
 +  * more%%_%%itertools.last -> Gibt den letzten Wert eines Generators zurück
 +  * more_itertools -> hat noch ein paar mehr Funktionen für Generatoren
python/generator.1583142252.txt.gz · Zuletzt geändert: 2020/03/02 10:44 von root