Willkommen zurück, ich möchte mit Ihnen über einige nützliche Funktionen sprechen, die wir erhalten, die es uns
tatsächlich ermöglichen, in einem funktionalen Programmierparadigma zu denken.
Der Name dieser Funktionen ist Kartenfilter.
Zipp.
Und dies sind sehr, sehr nützliche, sehr gebräuchliche Funktionen, die Sie häufig schreiben werden, wenn Sie ein Python-Programm
sind.
Lassen Sie uns sie also erkunden.
Zuerst beginnen wir mit MAP.
Und map erlaubt uns tatsächlich, den Code, den wir hier haben, zu vereinfachen oder mit zwei zu multiplizieren.
Sie sehen, mit Mathematik habe ich es als Funktion, als eingebaute Funktion, zur Verfügung, und wir sehen
hier, dass wir dem ersten Parameter eine Funktion geben und dann der zweite Parameter ein iterierbar ist.
Eine gute Möglichkeit, darüber nachzudenken, ist, dass wir hier etwas unternehmen möchten.
Also eine Funktion und dann die Daten, für die wir Maßnahmen ergreifen möchten.
Sagen wir also in unserem Fall eins, zwei, drei.
Welche Maßnahmen wollen wir also ergreifen?
Eins zwei drei.
Nun, wir wollen mit zwei multiplizieren, sagen wir also multiplizieren.
Um zwei.
Jetzt muss ich das nach unten verschieben, weil wir zuerst die Funktion definieren müssen.
Und führen Sie es so aus, also anstatt das auszudrucken, machen wir es.
Drucken.
So, wenn ich es starte.
Ich erhalte ein Kartenobjekt an diesem Speicherort.
Und map gibt uns automatisch dieses Objekt, das es in diesem Speicher erstellt hat.
Damit wir es wirklich sehen können, müssen wir es in eine Liste wie diese umwandeln.
Also wenn ich das starte.
Es sagt, dass online für int-Objekt nicht iterierbar ist. Nun, das liegt daran, dass wir mit MAP nicht mehr diese
Erstellung einer Liste und dann das Anhängen an eine Liste durchführen müssen.
Sehen Sie, das Schöne an MAP ist, dass ich ihm einige Daten gebe und dann auf diese Daten reagiert wird.
Und alles, was wir mit der map-Funktion tun müssen, ist eine Funktion zu haben, die zurückgibt.
Dieser Teil ist Eitam mal zwei, also müssen wir, anstatt den ganzen Code zu haben, nur Return sagen.
Artikel mal zu.
Ändern wir also diesen Parameter in item.
Und schauen Sie sich den Code etwas genauer an.
Also mit der Karte sage ich, hey, ich möchte, dass Sie die Funktion ausführen, mit zwei multiplizieren, beachten Sie hier, dass ich
nicht einmal die Klammern habe, weil ich es nicht als Karte bezeichnen muss.
Ist es für mich?
Map sagt nur, hey, gib mir einfach die Funktion, ich kümmere mich um den Rest.
Daher rufe ich die Funktion hier nicht auf.
Die Karte wird die Funktion für mich aufrufen.
Ich sage nur, hey, wenn ich Map so anrufe.
Ich möchte, dass Sie diese Funktion an dieser Speicheradresse verwenden und diese Daten verwenden.
Erinnern Sie sich an unser Paradigma der funktionalen Programmierung?
Wir haben Daten, auf die reagiert wird, also trennen wir diese beiden.
Nun nimmt diese Funktion jedes der Elemente in unseren Esswaren, in unserem Fall wird das erste Mal ein Element eins,
dann zwei, dann drei sein.
Und dann müssen wir nur noch angeben, welche Wirkung wir auf diesen Gegenstand haben möchten.
In unserem Fall führt dies dazu, dass diese Karte diese Funktion automatisch für uns ausführt und alle Elemente
im Iterable durchläuft und für uns ein neues Kartenobjekt zurückgibt, das wir in eine Liste umwandeln, wenn
ich dies ausführe.
Ich bekomme zwei, vier, sechs.
Nun, hier ist der nette Teil, wenn ja, sagen wir meine Liste und ich sage eins, zwei, drei.
Und ich habe meine Liste hier geändert.
So und am Ende auch meine Liste drucken, wenn ich auf Ausführen klicke.
Sie werden sehen, dass sich meine Liste nicht geändert hat.
Erinnern?
Eine reine Funktion ist eine Funktion, die die Außenwelt nicht auf diese Weise beeinflusst. Mit map können wir eine ganz
neue Liste erstellen.
Das ändert meine Liste nicht.
Meine Liste ist also unveränderlich, oder?
Wir ändern es nicht und alles, was es tut, ist die Kartenfunktion, kümmert sich darum und gibt eine neue Liste für uns zurück.
Aber wir haben keinen Einfluss auf die Außenwelt.
Diese Funktion hat keine Nebenwirkungen.
Wir multiplizieren einfach nur Element zu Element mit zwei, indem wir daraus eine neue Liste erstellen.
Und jedes Mal, wenn wir denselben Input geben, wird es den gleichen Output ergeben.
Sehr, sehr cool und die Karte ist äußerst nützlich, denn jedes Mal, wenn wir etwas haben, über das
wir iterieren können und das wir ändern möchten, nehmen wir an, wir haben E-Mails oder Benutzernamen und wir müssen die Benutzernamen aktualisieren, um
beispielsweise alle Großbuchstaben zu sein .
In diesem Fall können wir iterieren und die mathematische Funktion verwenden, alle Benutzernamen in unserer Liste ändern, um
beispielsweise die Großbuchstaben-Zuordnung eine der Funktionen zu sein, die Sie in Ihrer Programmierkarriere häufig verwenden.
Und ich hoffe, Sie können hier sehen, wie sauber und schön es ist, wieder funktionale Programmierparadigmen zu verwenden.
Kommen wir zum nächsten.
Lassen Sie uns als nächstes über Filter sprechen.