Warum ist Pythons main () -if-Anweisung angehängt?

Was ist Python name?

if __name__ ==" __main__ ": Eine Zeile, die häufig im Python-Quellcode vorkommt Sie können es mit "Magie" loswerden Wofür ist es nützlich?

Angenommen, Sie erstellen eine Datei mit dem Namen "helloWorld.py".

helloWorld.py


def main():
    print("Hello Python!")
#Maine
main()

Vorhin Es gibt keine Beschreibung von if __name__ ==" __main__ "

$ python helloWorld.py
Hello Python!

Das Ausführungsergebnis wird erhalten. In dieser Konfiguration jedoch auch dann, wenn "Import" durchgeführt wird

>>> import helloWorld #Zu diesem Zeitpunkt "Hallo Python!Wird angezeigt
Hello Python!

Ich möchte also nicht nur eine Python-Datei importieren und versuchen, die Hauptfunktion wiederzuverwenden, sondern die Ausführung ist egoistisch. Deshalb

def main():
    print("Hello Python!")

# main()Fügen Sie vorher eine Zeile ein
if __name__ == "__main__":
    main()

Das Innere dieser if-Anweisung wird beim Import nicht ausgeführt.

>>> import helloWorld
>>>

Warum der Import nicht ausgeführt wird

if __name__ == In der Variablen __name__ von" main " Enthält den Modulnamen dieser Python-Datei als Zeichenfolge. Mit anderen Worten Der Inhalt von __name__ ist die Zeichenfolge" helloWorld " Es ist geworden.

In helloWorld.py Die Variable __name__ ist die Zeichenfolge" __main__ " Wird sein.

Zusammenfassung

  1. In der helloWorld.py war das import helloWorld Die Zeichenfolge lautet "name" == "helloWorld".

  2. In der helloWorld.py war das python hello.py Die Zeichenfolge lautet __name__ =="__main__".

Daher ist es möglich, zu verhindern, dass es sich ohne Erlaubnis nur durch "Importieren" bewegt! Deshalb. Hmmm, Python ist tief. Es gibt viel Raum zum Lernen.

Recommended Posts

Warum ist Pythons main () -if-Anweisung angehängt?
Was tun, wenn in Python minus Null angezeigt wird?
Was passiert, wenn Sie in Python "A, B als C importieren"?
Wenn in Python ein "Unicode-Dekodierungsfehler" auftritt
[Python-Version] Warum können Sie mit Java keine objektorientierte Entwicklung durchführen?
Wenn Sie TinderBot in Python schreiben, kann sie das tun
Benötigen Sie Python re.compile?
Wenn Sie einer Variablen in Python einen CSV-Export zuweisen möchten
Überprüfen Sie, ob Sie in Python eine Verbindung zu einem TCP-Port herstellen können
Führen Sie eine nicht rekursive Euler-Tour in Python durch
Python / Wörterbuch> setdefault ()> Hinzufügen, wenn nicht im Wörterbuch
[Grundlagen der Python-Grundlagen] Warum __name__ == "__main__"
Python if-Anweisung
[Python] if-Anweisung
Was tun, wenn in python json .dumps eine Dezimalstelle enthalten ist?
Wenn Sie einen Singleton in Python möchten, stellen Sie sich das Modul als Singleton vor
Was tun, wenn Sie die Rastersuche von sklearn in Python nicht verwenden können?
Python - Wie teilt man eine Liste in Python in gleich große Teile auf?
So fügen Sie Python ein Modul hinzu, das Sie in Julialang eingefügt haben
Warum Sie sich für Motorsteuerung in Python interessieren
Was tun, wenn auf pipenv der Fehler "Keine Versionen gefunden" angezeigt wird?
Eine Lösung, wenn Sie versehentlich den Python-Interpreter in / usr / local / bin / entfernen.
Wenn ihr in der Scope-Küche das mit einem Rand machen könnt ~ ♪
Was tun, wenn in Sublime Text Python ein Unicode-Codierungsfehler auftritt?
Was tun, wenn "Python nicht konfiguriert" angezeigt wird? Verwenden von PyDev in Eclipse
Python grundlegende if-Anweisung
Überprüfen Sie, ob die Zeichenfolge eine Zahl in Python ist
% Und str.format () in Python. Welches benutzt du?
BigQuery - Wenn Sie einen Grund erhalten: responseTooLarge-Fehler in Python
Was tun, wenn in pip ein Unicode-Dekodierungsfehler auftritt?
Bis Sie Daten in eine Tabelle in Python einfügen
Ein Java-Programmierer studierte Python. (für, if, while-Anweisung)
Wenn Sie in der for-Anweisung plt.save möchten
Was tun, wenn in Hydrogen "Kein Kernel für Sprachpython gefunden" angezeigt wird?
Was tun, wenn beim Importieren von matplotlib in Python (Mac) eine Fehlermeldung angezeigt wird?
Python-Ertrag verstehen Wenn Sie Ertrag in eine Funktion einfügen, wird dieser in einen Generator geändert
Was tun, wenn Sie Python auf IntelliJ ausführen und mit einem Fehler beenden?
Machen Sie einen Screenshot in Python
Was tun, wenn `Argumente [0] .scrollIntoView ();` in Python-Selen fehlschlägt?
Erstellen Sie eine Funktion in Python
Erstellen Sie ein Wörterbuch in Python
Python "if __name__ ==" __main__ ":" bedeutet
Was tun, wenn pip in Homebrew einen DistributionError ausgibt?
So importieren Sie Dateien in Python an eine beliebige Stelle
Erstellen Sie eine Python-Entwicklungsumgebung mit Eclipse (fügen Sie einen HTML-Editor hinzu).
[Python] Wie schreibe ich eine if-Anweisung in einen Satz?
So definieren Sie mehrere Variablen in einer Python for-Anweisung
Was tun, wenn Overalls "Abdeckung unbekannt" werden?
Mit Python hinzufügen if-Anweisung
Dies ist schneller zu verwenden, wenn Anweisung oder Wörterbuchtyp beim Konvertieren einer Zeichenfolge (a-> b) in Python
Was tun, wenn in tf.train.start_queue_runners () ein 0xC0000005-Fehler auftritt?
[Road to Intermediate Python] Verwenden Sie die if-Anweisung in der Listeneinschlussnotation
Machen Sie so etwas wie einen Python-Interpreter mit Visual Studio Code
Erstellen Sie ein Lesezeichen in Python
Was tun, wenn Swagger-Codegen mit Python und Importfehler ausgeführt wird? Es wird kein Modul mit dem Namen angezeigt
Was tun, wenn Sie sich nicht als root anmelden können?
Zeichne ein Herz in Python
Was tun, wenn bei yum ein Metalink für Repository-Fehler nicht abgerufen werden kann?
Eine Reihe von Skriptdateien, die Wordcloud mit Python3 ausführen