Willkommen zurück.
Jetzt werden wir einen guten Teil dieses Kurses damit verbringen, einige Projekte zu erstellen
und einige eingebaute Python-Module zu verwenden sowie einige beliebte Drittanbieterbibliotheken aus dem Python Package Index zu verwenden.
Ich wollte Ihnen jedoch nur ein kurzes Video zu einigen der nützlichen Module zeigen, die
mir persönlich in den integrierten Modulen von Python gefallen.
Und einige dieser wirklich nützlichen Module ermöglichen es uns tatsächlich, mehr Datentypen in Python zu haben.
Erinnern Sie sich an diese Liste am Anfang des Kurses, in der ich über die mit
Python gelieferten Datentypen gesprochen habe, und dann haben wir etwas über Klassen gelernt und wie wir unsere eigenen Datentypen, unsere eigenen Objekte
in Python erstellen können.
Aber wir haben auch diese spezialisierten Datentypen, die ebenfalls in diese Python-Standardbibliothek integriert sind und die in diesem
Spiel wirklich sehr nett sind.
Machen Sie unsere Programme wirklich, wirklich mächtig.
Jetzt sind sie spezialisiert, weil Sie sie nicht überall sehen werden, aber es ist gut zu wissen, dass
es sie gibt.
Und ich werde einige meiner Favoriten durchgehen.
Das erste, was ich Ihnen zeigen werde, ist das Sammlungsmodul, das Sammlungsmodul stammt also aus einer Sammlung oder Sammlungen, und
es gibt drei Dinge, die mir hier wirklich gefallen.
Also ich sage Import.
Ich werde den Zähler importieren, das Standardwörterbuch und dann das geordnete Wörterbuch.
Beachten Sie nun, dass einige von ihnen Klassen sind,
weil sie Großbuchstaben sind und einige nur eine Funktion zu
sein scheinen.
Und Sie können alle sehen, die wir haben.
Beginnen wir also in diesen Sammlungen mit der ersten.
Ein Zähler ist äußerst nützlich. Nehmen wir an, ich habe eine Liste mit eins, zwei, drei, vier, fünf,
sechs, sieben.
Und ich möchte zählen, wie viele Elemente in einer Liste sind, wenn ich Zähler drucke.
Sie können hier sehen, was es tut, aber im Wesentlichen, wenn ich ihm eine Liste gebe und auf Ausführen klicke.
Alles klar, was ist hier gerade passiert?
Es erstellt ein Wörterbuch, in dem einer gewonnen hat, zwei gewonnen hat, drei gewonnen hat.
Was ist, wenn wir hier weitere sieben hinzufügen, sagen wir sieben, wenn ich auf Ausführen klicke?
Haben Sie gesehen, dass Sieben jetzt tun müssen, um ein Wörterbuch zu erstellen, das nachverfolgt, wie oft ein Element
in einem Iterable vorkam, sodass Sieben zweimal vorkam.
Sieben hat also einen Wert von zwei.
Eine andere Möglichkeit, dies zu verwenden, besteht darin, dass wir einen Satz haben und im Satz sagen, ich möchte überprüfen.
Nun, lass uns einfach etwas schreiben.
Ich sage bla, bla, bla.
Wenn ich an Python denke, wenn ich hier einen Zähler machen und sagen wir ihm einen Satz, wenn ich auf Ausführen klicke.
Schau mal nach, ich sehe, welcher Buchstabe am häufigsten vorkam.
In unserem Fall ist jeder fünfmal aufgetreten, der Raum fünfmal und dann B viermal, und
das ist wirklich, wirklich cool.
Denn diese Art der Berechnung eines Zählers, der ein Element wie eine Liste in eine sogenannte Hash-Map oder ein Wörterbuch wie
dieses umwandelt, um den Zählerstand zu halten, ist tatsächlich eine sehr nützliche Funktion, die Sie überall in der Programmierung
sehen.
Es hilft tatsächlich sehr bei Optimierungsproblemen.
Da werden wir jetzt nicht darauf eingehen.
Aber ich wollte Ihnen nur zeigen, dass Counter etwas wirklich, wirklich nützliches ist.
Wenn Sie doppelte Benutzer oder doppelte E-Mails zählen möchten, kann Counter wirklich sehr nützlich sein.
Was ist mit dem nächsten Standard-Schwanz-Typ?
Das ist wirklich schwer zu sagen.
In Ordnung, also sagen wir, wir haben hier ein Wörterbuch und dieses Wörterbuch wird, nun ja, ein
sehr unbedeutendes Wörterbuch haben eine Eins und B zwei.
Was für ein einfaches Wörterbuch.
Hier drin kann ich Wörterbuch sagen.
Punkt.
Oder Klammern, hey, und ich kann den Wert erfassen, oder?
Wenn ich klicke, laufe.
Oh, und ich habe kein Wörterbuch buchstabiert, richtig, lass uns das reparieren.
Das ist besser.
Lassen Sie uns das vorerst auskommentieren, weil wir das nicht brauchen.
Sie werden sehen, dass ich einen Wert von eins erhalte, aber wenn ich versucht habe, auf etwas zuzugreifen, das nicht existiert, sehen
Sie.
Ich werde mich mit einem Standardwörterbuch ausdrücken.
Ich werde tatsächlich einen Standardwert erhalten, wenn etwas nicht existiert.
Lassen Sie uns dies also in ein Standardwörterbuch konvertieren.
So was.
Und jetzt, wenn ich dies ausführe, erhalten wir ein weiteres erstes Argument, das aufrufbar sein muss oder nicht.
Standardmäßig ermöglicht DECT den Zugriff auf einen solchen Schlüssel, weist ihm jedoch einen Standardwert zu.
In unserem Fall müssen wir ihm hier so etwas wie ein aufrufbares Objekt übergeben.
Und schuldhaft bedeutet so etwas wie eine Funktion, die so aufgerufen werden kann, wenn ich sie ausführe.
Ich bekomme null.
Warum ist das so?
Naja, wenn ich treffe.
So mit nichts drin.
Wir bekommen null.
Eine Kurzform, weil dies ausgeführt wird, besteht darin, ihm eine schnelle Funktion zu geben, die wir nicht verwenden werden.
Also lass uns einfach ein Lamda machen.
Und gib es einfach.
Sagen wir fünf.
Wenn ich das jetzt ausführe, lass uns hier ein Wörterbuch erstellen.
Ron.
OK, und lass uns versuchen und greifen.
Etwas, das nicht existiert, wenn ich auf Ausführen klicke, bekomme ich fünf. Dies ist also ein gängiges Muster, das
Sie beim Standard-DECT sehen. Wir geben ihm einfach einen Wert oder ein aufrufbares Objekt.
In unserem Fall geben wir ihm nur diese Funktion, eine Lambda-Funktion, die einfach fünf zurückgibt.
Also kann ich hier sogar sagen.
Gibt es nicht.
Der zweite Parameter ist, was immer wir wollen, und wenn ich auf Ausführen drücke.
Ich erhalte nicht existiert, obwohl ich auf einen Schlüssel zugreife, der jetzt nicht existiert, wenn ich hier einen Befehl ausführe und
auf Ausführen klicke.
Funktioniert alles.
Ich bekomme immer noch einen.
Und wenn doch.
Ich habe auch noch einen weiteren nützlichen kleinen Datentyp ausgeführt.
Das nächste ist geordnetes DECT, und dieses ist ein weiteres interessantes. Ein Bestellwörterbuch behält die Reihenfolge bei, die
Sie in ein Wörterbuch einfügen.
Lass es mich dir zeigen.
Wenn wir also, sagen wir, ein Wörterbuch haben, wird dieses Wörterbuch ein Bestellwörterbuch sein.
So schaffen wir es jetzt hier drin, wenn ich D gleich a mache.
Und das wird gleich eins und dann D.
B wird den beiden gleichkommen.
Und ich kopiere das jetzt und erstelle ein zweites Wörterbuch, lasst uns die beiden D zu ergänzen.
Und ich überprüfe, hey, print ist D gleich D, denk dran, das wird nach den Werten suchen.
Wenn ich das laufe.
Ich bin durchgekommen, ja, sie sind gleich, aber wenn ich die Einfügereihenfolge hier geändert habe und auf Ausführen klicke.
Es tut mir leid, das ist nicht dasselbe, weil es die Reihenfolge beibehält, wenn dies ein normales Wörterbuch wäre. Sagen
wir also, anstatt was wir hier haben, werde ich einfach ein Wörterbuch erstellen und wir werden es
tun.
Wir machen hier einfach eine einfache Anzeige, die, sagen wir, hundert hat.
Und machen Sie dasselbe auch für dieses, d.
Er geht dazu.
Wenn ich das jetzt laufe.
Ich werde wahr, weil alle Schlüssel und Werte bei einem normalen Wörterbuch gleich sind, uns ist es egal.
Es gibt keine Ordnung und ich habe dies bereits erwähnt, ein Wörterbuch in Python zu schreiben hat keinen Sinn für Ordnung, obwohl wir, wenn
wir die Schlüssel ausdrucken, die Dinge möglicherweise in Ordnung bringen, wenn unser Wörterbuch größer und größer
wird.
Es gibt keine Garantie dafür, dass wir alle Schlüssel in Ordnung bringen, wenn wir alle Schlüssel ausdrucken.
Bei einem Bestellwörterbuch bekommen wir diese Garantie.
Nun, es gibt einige Auswirkungen auf die Leistung für diese.
Insgesamt kann es jedoch in einigen Situationen nützlich sein.
Okay, noch ein paar durch, aber dieses Video wird lang, also lass uns eine Pause machen und ich
schaue im nächsten Video vorbei.