Ist Python ein Generator?
Ist Python ein Generator?

Video: Ist Python ein Generator?

Video: Ist Python ein Generator?
Video: Python Tutorial #43 - Generatoren und Yield 2024, Kann
Anonim

Was ist ein Python-Generator (Lehrbuchdefinition) A Python-Generator ist eine Funktion, die a. zurückgibt Generator iterator (nur ein Objekt, über das wir iterieren können) durch Aufrufen von yield. Yield kann mit einem Wert aufgerufen werden, in diesem Fall wird dieser Wert als "generierter" Wert behandelt.

Ist die Python-Reihe außerdem ein Generator?

Bereich ist eine Klasse unveränderlicher iterierbarer Objekte. Ihr Iterationsverhalten kann mit Listen s verglichen werden: Sie können sie nicht direkt mit next aufrufen; Sie müssen einen Iterator erhalten, indem Sie iter verwenden. Also nein, Bereich ist kein Generator . Sie sind unveränderlich und können daher als Wörterbuchschlüssel verwendet werden.

Außerdem, was ist Python-Ausbeute? Auf einen Blick die Ertrag -Anweisung wird verwendet, um Generatoren zu definieren und die Rückgabe einer Funktion zu ersetzen, um ihrem Aufrufer ein Ergebnis bereitzustellen, ohne lokale Variablen zu zerstören. Im Gegensatz zu einer Funktion, bei der sie bei jedem Aufruf mit einem neuen Satz von Variablen beginnt, a Generator setzt die Ausführung dort fort, wo sie unterbrochen wurde.

Warum werden Generatoren in Python verwendet?

Generatoren waren ein wichtiger Teil von Python seit ihrer Einführung mit PEP 255. Generator Mit Funktionen können Sie eine Funktion deklarieren, die sich wie ein Iterator verhält. Sie ermöglichen es Programmierern, einen Iterator schnell, einfach und sauber zu erstellen. Ein Iterator ist ein Objekt, das iteriert (geschleift) werden kann.

Wie funktioniert der Python-Generator?

EIN Python-Generator ist eine Funktion, die eine Folge von Ergebnissen erzeugt. Es funktioniert indem sie ihren lokalen Zustand beibehält, sodass die Funktion bei nachfolgenden Aufrufen genau dort wieder aufgenommen werden kann, wo sie aufgehört hat. So können Sie sich vorstellen, a Generator als so etwas wie ein mächtiger Iterator.

Empfohlen: