Lassen Sie uns verschiedene Möglichkeiten kennenlernen, wie wir diese Module tatsächlich importieren können. Bisher haben
wir nur den Import kennengelernt, aber manchmal kann es ziemlich hektisch werden.
Zum Beispiel können wir tatsächlich ein anderes Paket in einem anderen Paket haben.
Wenn ich zum Beispiel hier einen neuen Ordner erstelle und neues Python-Paket sage, nennen wir das mehr.
Klicken Sie auf Einkaufen, OK, Sie sehen, dass ich ein anderes Paket innerhalb eines Pakets initiiert habe, das eine eigene Datei
enthält.
Und lasst uns das jetzt verschieben, um Refraktor zu bewegen und wir werden es in den Ordner "more shopping" verschieben, um mehr
zu sagen.
Das Einkaufen.
Ich klicke auf OK. Sie werden sehen, dass ich dieses Modul hierher verschoben habe, also habe ich ein Paket in einem Paket.
Und die Art und Weise, wie wir darauf zugreifen würden, ist, einfach Shopping-Punkt mehr zu sagen.
Einkaufspunkt, Einkaufswagen.
Und lass uns das kopieren und hier dasselbe tun.
Und jetzt, wenn ich auf Ausführen klicke.
Sie werden sehen, dass es immer noch funktioniert, aber das wird ein bisschen zu verrückt.
Sie können sich vorstellen, dass wir bei immer mehr Paketen ständig diesen Punkt, diesen Punkt, und das wird
ein bisschen tun müssen.
Zu lang und hässlich.
Wie können wir das also verbessern?
Nun, eine Möglichkeit, dies auf sauberere Weise zu tun, besteht darin, so etwas zu tun, anstatt zu sagen, dass
es wichtig ist, sagen wir daher.
Teil, ich möchte die Funktion importieren, also sage ich hier, hey, from package, name, package, name, module,
import, was auch immer ich will.
In unserem Fall wollen wir die Kauffunktion importieren.
Sie sehen hier, ich kann das einfach und in meinem Code tun.
Ich kann einfach vorbeilaufen, als ob es Teil dieser Hauptdatei wäre.
Wenn ich das laufe.
Sie werden sehen, dass es immer noch funktioniert.
Großartig, das ist definitiv sauberer und wir können dies auch mit Utility tun.
Ich kann vom Dienstprogramm Import sagen und tatsächlich die beiden Dateien oder die beiden Funktionen importieren.
Das ist also multiplizieren.
Und wenn wir eine andere Funktion wünschen, können wir einfach ein Komma hinzufügen und sagen dividieren.
Jetzt können wir also Apple drucken.
Oder von Apple sowie teilen.
Sagen wir fünf mal zwei.
Und wir können uns auch vermehren.
Und stellen Sie sicher, dass es hier ein Komma ist, denn es ist eine Funktion wie diese, damit Sie das sehen, wenn ich
dies ausführe.
Na, bitte.
Dies funktioniert auch.
Dies ist also eine wirklich schöne Möglichkeit, Ihren Mantel aufzuräumen.
Sie können auch so etwas tun, indem Sie von Paket, Name, Paket, Name sagen.
Und dann importieren Sie das gesamte Modul, also sagen wir, ich möchte das Warenkorbmodul importieren, ich kann sagen importieren,
also Paket Punkt Paket oder Sie hätten nur ein Paket erstellen und das eigentliche Modul Warenkorb
importieren können.
Also würde ich jetzt wie auf diesen Warenkorb zugreifen.
Und das wird auch funktionieren.
Der Grund, warum Sie dies möglicherweise anstelle des vorherigen tun möchten, besteht darin, dass manchmal
benannte Kollisionen auftreten.
Lassen Sie mich Ihnen zeigen, sagen wir, ich habe einen Druck und dann verwenden wir hier die max-Funktion, die uns eine eingebaute Funktion gibt,
wir geben ihm einen Iterator und er findet das Maximum für uns, damit Sie, wenn ich das ausführe, Sie Ich werde
sehen, dass das Maximum in dieser Liste drei ist.
Nun, stellen Sie sich vor, wir haben in unserer Nutzenfunktion ein Sagen statt Dividieren oder wir addieren ein Maximum, das
einfach sagt.
Retoure und Ups.
Nun, wenn ich zu meinem Haupt-DCPI zurückkehre.
Und.
Holen Sie sich Max als meine Funktion und ich klicke auf Ausführen.
Siehst du, ich komme da hin.
Max nimmt keine Positionsargumente an, wurde aber angegeben, aber eins wurde angegeben, weil Max jetzt nicht das
bedeutet, was wir dachten, zumindest in dieser Datei haben wir Max importiert und so.
Max hat jetzt eine ganz andere Funktion, sodass wir vorhandene Funktionen tatsächlich überschreiben können. Indem wir so
etwas wie diesen Einkaufswagen verwenden, stellen wir sicher, dass wir nur einen Fall haben, den wir möglicherweise Kollision genannt
haben.
Aber alle Eigenschaften oder alle Methoden, die Shopping Art hat, sind mit einem Warenkorb verbunden.
Anstatt also mehrere Funktionen zu haben, die überschrieben werden könnten, habe ich nur einen Namespace.
Dies ist übrigens auch einer der Gründe, warum ich nicht empfehle, so etwas zu tun,
Sie können tatsächlich Star importieren.
Und das heißt, hey, aus dem Utility-Modul importieren Sie alles.
Und wenn Sie das tun.
Sie werden sehen, dass wir wieder einmal einen Air bekommen, weil es auch das Maximum importiert, und weil wir nicht einmal wissen, was
gerade importiert wird, können wir es nicht sehen.
Wir müssen zu der Datei gehen, um sie zu sehen.
Wenn wir so eine Luft bekommen, werden wir uns fragen: Was ist los?
Ich dachte, Max arbeitet und das liegt an dieser Leitung.
Es ist also immer gut, explizit zu sein und genau zu sagen, was Sie importieren möchten.
Aber lassen Sie uns Max vorerst entfernen, aber wie Sie sehen, können Module auf unterschiedliche Weise wichtig sein.
Meine Empfehlung ist, immer explizit zu sein und genau zu sagen, was Sie importieren möchten.
Und das Format folgt normalerweise entweder mit der import-Anweisung gefolgt von dem Paketmodul oder importiere das Modul, oder Sie können
die from-Anweisung ausführen, um Paket, Support-Paket und Modul hinzuzufügen, wenn Sie möchten, oder Sie können ein Modul ausführen
und dann Import sagen und die spezifische Funktion oder das eigentliche Modul selbst, viele Möglichkeiten,
dies je nach Bedarf zu tun.
Die wichtigste Erkenntnis dabei ist, dass Module und Pakete uns dabei helfen, gute Engineering-Praktiken anzuwenden und große Projekte
auf organisierte Weise zu erstellen, aber dennoch alle diese Dateien miteinander kommunizieren.
Richtig, das war viel, mehr erfahren wir im nächsten Video.