Haupt-Skriptumgebung auf oberster Ebene
Was ist das
__main__ ist der Name des Gültigkeitsbereichs, in dem Code auf oberster Ebene ausgeführt wird. Der Name eines Moduls wird gleich __main__ gesetzt, wenn es von Standardeingabe, einem Skript oder einer interaktiven Eingabeaufforderung gelesen wird.
Ein Modul kann feststellen, ob es im Haupt-Gültigkeitsbereich ausgeführt wird, indem es seinen eigenen __name__ überprüft, was ein gängiges Idiom für die bedingte Ausführung von Code in einem Modul ermöglicht. Wenn es als Skript oder mit python -m ausgeführt wird, aber nicht, wenn es importiert wird:
# __name__ == "__main__": prüfen, ob das Skript direkt ausgeführt wird (nicht importiert)
if __name__ == "__main__": # Wahr, wenn als Skript ausgeführt, Falsch, wenn importiert
# nur ausführen, wenn als Skript ausgeführt
main()
Für ein Paket kann derselbe Effekt durch die Einbeziehung eines main.py-Moduls erreicht werden, dessen Inhalt ausgeführt wird, wenn das Modul mit -m ausgeführt wird.
Wenn wir beispielsweise ein Skript entwickeln, das als Modul verwendet werden soll, sollten wir Folgendes tun:
# Beispiel: Funktion kann importiert werden, aber Testcode wird nur ausgeführt, wenn direkt ausgeführt
def add(a, b):
return a+b
if __name__ == "__main__": # Wird nur ausgeführt, wenn die Datei ausgeführt wird, nicht beim Importieren
add(3, 5)
Melden Sie sich an, um dieses Quiz zu beantworten und Ihren Lernfortschritt zu verfolgen
__name__, wenn eine Python-Datei direkt als Skript ausgeführt wird?"**main**"NoneTrueVorteile
- Jedes Python-Modul hat sein
__name__definiert, und wenn dieses__main__ist, impliziert dies, dass das Modul vom Benutzer eigenständig ausgeführt wird, und wir können entsprechende geeignete Aktionen durchführen. - Wenn Sie dieses Skript als Modul in einem anderen Skript importieren, wird der Name auf den Namen des Skripts/Moduls gesetzt.
- Python-Dateien können entweder als wiederverwendbare Module oder als eigenständige Programme fungieren.
if __name__ == "__main__":wird verwendet, um Code nur dann auszuführen, wenn die Datei direkt ausgeführt und nicht importiert wird.
Melden Sie sich an, um dieses Quiz zu beantworten und Ihren Lernfortschritt zu verfolgen
if __name__ == "__main__":?