English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Grundlegende Python-Tutorials

Flusskontrolle in Python

Funktionen in Python

Datenarten in Python

Dateioperationen in Python

Python-Objekte und Klassen

Python-Daten und Zeit

Fortgeschrittene Kenntnisse in Python

Python-Referenzhandbuch

Funktion main() in Python

In diesem Tutorial lernen wir, wie man die __name__ -Eigenschaft eines Python-Programms in verschiedenen Kontexten dynamisch ausführt.

Was ist die main() -Funktion in Python?

Einige Programmiersprachen haben eine spezielle Funktion namens main(), die den Ausführungspunkt der Datei ist. Der Python-Interpreter führt jedoch jede Zeile der Datei von oben nach unten aus und hat keine explizite main() -Funktion.

Python bietet andere Konventionen, um Ausführungspunkte zu definieren. Eine davon ist die Verwendung der main() -Funktion und des __name__ -Attributs des Python-Skripts.

Was ist __name__ in Python?

Die Variable __name__ ist eine spezielle eingebaute Python-Variable, die den Namen des aktuellen Moduls anzeigt.

Abhängig von der Position, an der der Python-Datei ausgeführt wird, hat sie verschiedene Werte. Lassen Sie uns ein Beispiel betrachten.

Python-Datei als Skript ausführen

Angenommen, wir haben eine Datei namenshelloworld.pyDer Inhalt der Python-Datei ist wie folgt:

print(__name__)

wenn wir von der Kommandozeile aus startenhelloworld.pywenn dies der Fall ist, wird es als Python-Skript ausgeführt. Wir können die folgenden Befehle verwenden, um Python-Programme auszuführen:

python helloworld.py
def foo():
    str="__main__"
    print(str);
if __name__ == "__main__":
    foo()

Wenn wir das Programm als Skript ausführen, wird der Wert der Variable __name__ auf__main__. Daher wird die Ausgabe des folgenden Programms sein:

__main__

Python-Datei als Modul ausführen

Wir können auch eine Python-Datei als Modul ausführen. Dafür müssen wir diese Datei in ein anderes Python-Programm importieren. Lassen Sie uns einen Beispiel ansehen.

Angenommen, wir haben in demselben Verzeichnis wie die Datei heloworld.py eine Datei mit dem Namenmain.pyPython-Datei. Sie hat den folgenden Inhalt:

import helloworld

Wenn Sie diese Datei ausführen, wird die folgende Ausgabe haben:

helloworld

Hier können wir sehen, dass das Importieren eines Moduls auch alle Code in der Moduldatei ausführt.

Aber wir können sehen, dass __main__, das Programm zeigt den Namen des Moduls an, nämlich helloworld.

Das liegt daran, dass, wenn eine Python-Datei als Modul ausgeführt wird, der Name des Moduls selbst der Variable __name__ zugewiesen wird.

if-Bedingung mit __name__ verwenden

Nun, da wir bereits verstanden haben, wie das Variable __name__ Werte zugewiesen bekommt, können wir die if-Bedingung in verschiedenen Kontexten verwenden, um denselben Python-Datei auf unterschiedliche Weise auszuführen.

Lassen Sie uns einen Beispiel ansehen.

Angenommen, wir ändernhelloworld.pyDer Inhalt der Datei wird wie folgt geändert:

def main():
    print("Hallo Welt")
if __name__ == "__main__":
    main()

Nun, wenn wir es über die Befehlszeile als Skript ausführen, wird die Ausgabe sein:

Hallo Welt

Aber wenn wir es durch Importierenmain.pyWenn die Datei als Modul ausgeführt wird, wird keine Ausgabe angezeigt, da die Funktion main() nicht aufgerufen wird.

Hier erstellen wir in der Datei helloworld.py eine benutzerdefinierte main() Funktion. Diese wird nur ausgeführt, wenn das Programm als separates Skript und nicht als importiertes Modul ausgeführt wird.

Dies ist die Standardmethode zur expliziten Definition der main() Funktion in Python. Es ist einer der beliebtesten Anwendungen des Python-Datenfelds __name__.