Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| 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, | Der Vorteil hier ist, die Schleife wird nur bis zum erreichen von 4 ausgeführt, | ||
| + | |||
| + | |||
| + | ===== Alle Ergebnisse eines Generators ===== | ||
| + | |||
| + | <sxh python> | ||
| + | a=*(records.name for i in records) | ||
| + | </ | ||
| + | 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/ | ||
| + | * 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 | ||