‫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.