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)
Quiz

Melden Sie sich an, um dieses Quiz zu beantworten und Ihren Lernfortschritt zu verfolgen

Was ist der Wert von __name__, wenn eine Python-Datei direkt als Skript ausgeführt wird?
A. Der Dateiname
B. "**main**"
C. None
D. True

Vorteile

  1. 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.
  2. Wenn Sie dieses Skript als Modul in einem anderen Skript importieren, wird der Name auf den Namen des Skripts/Moduls gesetzt.
  3. Python-Dateien können entweder als wiederverwendbare Module oder als eigenständige Programme fungieren.
  4. if __name__ == "__main__": wird verwendet, um Code nur dann auszuführen, wenn die Datei direkt ausgeführt und nicht importiert wird.
Quiz

Melden Sie sich an, um dieses Quiz zu beantworten und Ihren Lernfortschritt zu verfolgen

Was ist der Hauptzweck der Verwendung von if __name__ == "__main__":?
A. Code nur auszuführen, wenn die Datei direkt ausgeführt und nicht importiert wird
B. Zu verhindern, dass die Datei importiert wird
C. Um die Ausführung der Datei zu beschleunigen
D. Um Code vor anderen Modulen zu verbergen