Willkommen zurück.
Um unser Verständnis von Modulen zu vervollständigen, müssen wir über ein wichtiges Konzept sprechen, nämlich
diese Idee von main.
Oder speziell unterstreichen, unterstreichen, main.
Denn wenn Sie sich in Ihrer Karriere weiterentwickeln, werden Sie eine Menge Code wie diesen sehen.
Dies ist eine der häufigsten Zeilen, die Sie bei der Arbeit mit Python sehen werden.
Und in diesem Video möchte ich erklären, was es tut.
Denn gerade für Anfänger ist es eines der verwirrendsten Themen.
Also werde ich vorerst auskommentieren und ein paar Dinge tun.
Wir haben hier unsere Haupt-DCPI-Datei.
Und ich möchte zuerst ein paar Dinge tun, ich werde unseren Warenkorb öffnen, der sich gleich hier befindet.
Und hier oben drucke ich einfach aus, weil unsere Datei gerade nichts tut.
Ich werde Druck, Unterstrich, Unterstrich, Namen so sagen.
Und ich werde dasselbe für den Gebrauchshundestapel tun.
Ganz oben also das Dienstprogramm DCPI.
Wenn ich main hier ausführe, klicken wir auf Ausführen hier.
Ich bekomme diese beiden Dinge gedruckt.
Nun, warum ist das so?
Nun, wenn ich eine Python-Datei ausführe.
Normalerweise führen wir nur eine Datei aus, richtig, die Hauptdatei, an der wir in unserem Fall arbeiten,
unsere Hauptdatei heißt zufällig Main DCPI.
Wenn ich also auf Ausführen klicke, geht der Interpreter hier Zeile für Zeile durch.
Als erstes wird das Dienstprogrammmodul importiert.
Und ermächtigen Sie diese beiden Dateien.
Es wird also zur Dienstprogrammdatei gehen und diese ausführen und automatisch jede Datei, die wir ausführen, oder
jedes Modul.
Wird ein Name gegeben, wenn unser Fall der Name des Modelldienstprogramms ist. Wenn Sie also etwas in Python importieren, findet
es das Modul und führt einen Code aus.
Also fügt es diesen Code zum Speicher hinzu, weil wir multiplizieren, dividieren emacs verwenden müssen und dann zur nächsten Zeile
übergehen müssen.
In unserem Fall ist es das, wo wir wieder aus dem Warenkorb importieren.
Es heißt also, hey, der Name ist Shopping Dot, more Shopping Dot Warenkorb, denn das ist
der Modulname.
Und schließlich wird es hier durchgehen, weil diese Dateien zu diesem Zeitpunkt zeilenweise ausgeführt wurden und
jetzt im Speicher sind.
Jetzt hat der Interpreter Zugriff auf Dividieren, Multiplizieren und all diese Funktionen, die wir importiert haben.
Nun, hier ist meine Frage, was ist, wenn ich hier oder am Ende den Unterstrich, den Unterstrich-Namen auf dieser Hauptdatei
ausdrucke, wenn ich hier starte?
Sie sehen, ich bekomme Unterstrich, Unterstrich, Haupt.
Haben Sie das erwartet?
Was passiert, wenn ich den Namen dieser Datei geändert habe, sagen wir Refactoring?
Und sagen Sie umbenennen.
Ja, das ist in Ordnung, wir wollen es umbenennen und benennen es in, sagen wir, Test DCPI um.
Dies wird jetzt als Test bezeichnet.
Wie lautet Ihrer Meinung nach der Unterstrich, wenn ich hier renne?
Ich bekomme immer noch Unterstrich, Unterstrich, Hauptsache.
Vielleicht macht dies jetzt Sinn, wenn Sie den Code sehen. Wenn Unterstrich, Unterstrichname,
dann Unterstrich, Unterstrich, Hauptunterstrich.
Das sind also Dundas.
Dann mach etwas.
Und dies, der Name main, wird speziell der Datei gegeben, die wir ausführen, denn denken Sie daran, wenn wir beim Spielen in Konflikt geraten sind
oder wenn ich in meinem Terminal Python drei mache und dann teste Stoppie sage, führe ich diese eine einzelne Datei und
diese aus einzelne Datei importiert verschiedene Module und führt sie aus.
Diese eine Datei, die wir ausführen, erhält diese Vorgabe.
Unterstreichen, unterstreichen kann.
Der Grund, warum Sie solche Zeilen in Python möglicherweise sehen, ist, dass wir manchmal sicherstellen möchten,
dass wir ein Modul nur ausführen, wenn dies das Modul oder das Hauptmodul ist.
Also kann ich sagen, hier, drucken, bitte ausführen.
Und lassen Sie uns diesen Druck jetzt entfernen und auf Ausführen klicken.
Sie sehen, dass ich dies bekomme, führen Sie dies bitte aus, aber wenn ich diesen Code kopiere und sagen wir, füge ihn in das Dienstprogramm ein.
So und ich klicke auf Ausführen, Sie sehen, bitte ausführen, dies wird nicht erst am Ende des Dienstprogramms
angezeigt, wenn wir diesen Test ausführen.
Weil warum?
Nun, der Name dieser Datei ist nicht ich, sondern der Name ist Utility.
Dies ist also eine gute Möglichkeit, nur den Code der Hauptdatei auszuführen.
Dies ist also eine übliche Struktur, da Projekte immer größer werden. Vielleicht haben wir Code, den wir nicht ausführen möchten, es
sei denn, es handelt sich um die Hauptdatei.
Nehmen wir in unserem Fall an, dass wir keines davon ausführen möchten.
Es sei denn, dies ist die aufgerufene Hauptdatei Wenn ich dies jetzt ausführe, sehen Sie dies und ich erhalte eine Fehlermeldung, die besagt,
dass Zeile eins im Modul den Namen nicht aus dem Dienstprogramm importieren kann, weil wir dies nicht importieren können, weil wir dies getan haben.
Führen Sie diesen Code nicht aus.
Also lass uns das rückgängig machen.
Kommen Sie hierher zurück und was wir jetzt tun können, ist die ganze Sache zu verpacken.
Auf diese Weise stellen wir sicher, dass der Test nur läuft, wenn er gut läuft. Nur wenn dieser ausgeführt wird, sollte er nicht
importiert werden, sondern nur die Hauptdatei sein, die wir ausführen.
Denken Sie daran, als wir eine Klasse hatten, sagen wir, wir hatten eine Hauptdatei und wir haben eine Klasse erstellt, sagen wir
Student.
Und dieser Student, sagen wir, hat nichts, aber wenn wir einen Typ von Student haben.
Und wir drucken hier.
Und ich klicke auf Ausführen.
OK, lassen Sie uns die Schüler instanziieren, also sagen wir, Schüler eins ist gleich Schüler.
Und lassen Sie uns nur den Typ des Schülers ermitteln, wenn ich auf "Ausführen" klicke.
Erinnerst du dich, wie wir diesen Unterstrich, den Unterstrich, den Mittelpunkt-Studenten haben?
Was es sagt, ist, dass diese Klasse erstellt wurde.
Wenn ich dies in der Hauptdatei, die wir ausgeführt haben, zum Beispiel kopiere, fügte ich es dem Dienstprogramm wie folgt hinzu.
Und jetzt in meiner Hauptdatei.
Ich importiere Dienstprogramm.
Und sagen wir Utility-Punkt.
Schritt eins und fertig.
Und dann drucken.
Was wird dann passieren?
Nun, wir bekommen Klasse Utility Dot Student.
Also, wann immer wir Maine sahen, sagte es nur: Hey, das war eine Klasse, die in der Maine-Datei erstellt
wurde.
Auch dies ist eines der Dinge, die Sie oft sehen werden.
Aber am Ende des Tages möchte ich nur sicherstellen, dass, wenn dies die Datei ist, die ausgeführt wird, weil
eine Datei entweder ausgeführt oder importiert werden kann, wenn dies die Datei ist, die ausgeführt wird, die Datei ist, die
ausgeführt wird main-Datei, dann tun Sie etwas.
Es ist also eine gute Möglichkeit zu überprüfen, wie unsere Module verwendet werden, ob importiert oder ausgeführt.
Hoffentlich machte das im nächsten Video Sinn. Wir werden über etwas Aufregendes sprechen, das sogenannte eingebaute
Module.
Wir sehen uns dabei.
Tschüss.