Reden wir über Generatoren.
Ein sehr wichtiger Schlüsselbegriff und ein ziemlich fortgeschrittenes Thema, was ist das?
Generatoren sind in Python verfügbar und ermöglichen es uns, im Laufe der Zeit eine Folge von Werten zu generieren.
Hmm.
Was bedeutet das?
Lassen Sie es uns erkunden.
Sehen Sie, wir haben tatsächlich schon einmal einen Generator gelernt.
Erinnerst du dich an Reichweite?
Nun, Reichweite ist ein Generator.
Aber was ist das?
Ein Generator ist eine spezielle Art von Ding in Python, das es uns ermöglicht, ein spezielles Schlüsselwort namens yield zu verwenden, und
er kann Funktionen anhalten und fortsetzen.
Lassen Sie mich dies mit einem schönen kleinen Beispiel demonstrieren, das Sie sehen, wenn wir so etwas wie Range verwenden.
Im Gegensatz zu so etwas wie einer Liste wandeln wir einen Bereich in eine Liste um.
Wie so.
Eine Liste erstellt in Wirklichkeit eine riesige Liste, sagen wir, von hundert Elementen im Speicher unserer Computer,
Speicher im Vergleich zu einem Bereich.
Es erstellt sie nacheinander.
Lassen Sie mich Ihnen zeigen, wenn ich eine Funktion erstelle und nennen wir sie Make-Liste.
Und diese Herstellerliste wird akzeptiert.
Eine Zahl.
Und dies macht Listen, nun, wir sagen, Ergebnis entspricht einem leeren Array, dann sage ich für I
im Bereich von an.
Wir werden das Ergebnis addieren, punktieren und multiplizieren es einfach zum Spaß, ich mache es mal.
Und schließlich geben wir das Ergebnis zurück.
Sehen Sie, wenn wir eine Liste erstellen, wie wir es gerade hier gemacht haben, tun wir im Wesentlichen Folgendes: Wir verwenden den Bereich,
um eine Liste zu erstellen und ein Ergebnis zurückzugeben, das im Speicher bleibt.
Nehmen wir also an, dass ich hier mit Make List sagen werde, dass meine Liste beim Drucken gleich Make List
100 ist.
Meine Liste.
Und ich klicke auf Ausführen.
Oh, und stellen Sie sicher, dass mein.
Parameter hier ist der richtige Name.
Und stellen Sie sicher, dass ich buchstabieren kann anhängen.
Wir bekommen unsere Liste, aber diese Liste hier lebt in unserer Erinnerung.
Meine Liste zeigt auf einen Speicherort.
Das nimmt also gerade Platz weg, Reichweite ist ein Generator.
Und ein Generator ist ein bisschen anders, weil dies nicht im Speicher gehalten wird, wenn
wir diese for-Schleife machen, dieser Bereich erstellt keine riesige Liste von, sagen wir, null bis neunundneunzig und dann beginnt er mit
der Iteration nein mit der for-Schleife.
Es wird sagen, hey, als Bereich gebe ich dir zuerst die Zahl Null, dann gebe ich dir die
Zahl eins, dann die Zahl zwei, die Zahl drei, die Zahl vier bis hin zu 100.
In der Erinnerung wird diese Liste nie erstellt, wie wir es mit meiner Liste haben.
Und das kann ziemlich hektisch werden.
Rechts.
Nehmen wir an, wir wollen eine riesige Liste erstellen.
Nehmen wir an, ich möchte eine Liste mit erstellen.
Brunnen.
Dieses gesamte Array, wenn ich sagen wollte, hier drucken.
Diese riesige Liste und ich klicke auf Ausführen.
Oh, Junge, du siehst, das ist eine Menge Speicher, den ich verbrauche.
Und wenn es fertig ist.
Was es immer noch geht.
Erst dann kann ich diese Liste verwenden und sie greift auf diese Liste und den Speicher zu.
Und dann können wir es nutzen.
Ein effizienterer Weg besteht darin, einen Generator zu verwenden und diese tatsächlich einzeln zu generieren, ohne Platz und
Speicher zu beanspruchen.
Damit wir nun lernen, wie man das mit Generatoren macht und wie man sie tatsächlich benutzt, müssen wir zur nächsten
Lektion gehen und altes Wissen wieder aufgreifen.
Ich lasse das komplett.
In der Zwischenzeit sehen wir uns im nächsten Video.
Wiedersehen.