Die __name__
Variable in Python ist eine spezielle eingebaute Variable. Sie hat eine besondere Bedeutung, wenn es um das Ausführen von Modulen in Python geht. Im Besonderen wird sie verwendet, um zu prüfen, ob ein Modul als Hauptprogramm ausgeführt wird.
Wenn Sie direkt ein Python-Script ausführen, z.B. python main.py
, dann gibt __name__
den String "__main__"
aus. Dies bedeutet, dass dieses Modul als Hauptprogramm läuft. Andererseits, wenn das Modul importiert wird, gibt __name__
den Namen des importierten Moduls aus.
Schauen wir uns ein praktisches Beispiel an:
# Dateiname: main.py
print("Der Name des Moduls ist: ", __name__)
Wenn Sie dieses Script direkt ausführen (python main.py
), dann wird die Ausgabe sein: "Der Name des Moduls ist: main".
Aber wenn Sie dieses Modul von einem anderen Python-Script importieren und das importierende Script ausführen, dann wird die Ausgabe der Name des importierten Moduls sein.
# Dateiname: app.py
import main
Beim Ausführen von python app.py
wäre die Ausgabe: "Der Name des Moduls ist: main".
Dieses Verhalten ist besonders nützlich, wenn Sie bestimmten Code nur ausführen möchten, wenn das Modul direkt ausgeführt wird, und nicht wenn es importiert wird. Sie können diesen Code innerhalb einer If-Bedingung schreiben, die prüft, ob __name__
gleich "__main__"
ist:
# Dateiname: main.py
def main_function():
print("Dieser Code läuft nur, wenn das Modul direkt ausgeführt wird")
if __name__ == "__main__":
main_function()
Zusammenfassend kann man sagen, die __name__
Variable in Python ist ein kraftvolles Werkzeug, das hilft, die Ausführung von Code zu kontrollieren, abhängig davon, ob ein Modul direkt ausgeführt oder importiert wird. Es ist eine Best Practice, den Hauptausführungscode eines Moduls in einer solchen Prüfung auf "__main__"
zu verpacken, um unerwartete Ausführungen bei Importen zu verhindern.