Was ist die Python-Hauptfunktion?
Die Python-Hauptfunktion ist ein Ausgangspunkt für jedes Programm. Wenn das Programm ausgeführt wird, führt der Python-Interpreter den Code nacheinander aus. Die Hauptfunktion wird nur ausgeführt, wenn sie als Python-Programm ausgeführt wird. Die Hauptfunktion wird nicht ausgeführt, wenn sie als Modul importiert wird.
Was ist die def main () -Funktion in Python? Um dies zu verstehen, betrachten Sie den folgenden Beispielcode
def main():print ("hello world!")print ("Guru99")
Hier haben wir zwei Druckstücke - eines ist in der Hauptfunktion "Hello World" definiert und das andere ist unabhängig, nämlich "Guru99". Wenn Sie die Funktion def main () ausführen:
- Nur "Guru99" wird ausgedruckt
- und nicht der Code "Hallo Welt".
Dies liegt daran, dass wir die Aufruffunktion "if__name __ ==" __main__ " nicht deklariert haben .
Es ist wichtig, dass Sie nach dem Definieren der Hauptfunktion den Code unter if__name __ == "__main__" aufrufen und dann den Code ausführen. Erst dann erhalten Sie die Ausgabe "Hallo Welt!" in der Programmierkonsole. Betrachten Sie den folgenden Code
def main():print("hello world!")if __name__ == "__main__":main()print("Guru99")
Guru99 wird in diesem Fall gedruckt.
Hier ist die Erklärung,
- Wenn der Python-Interpreter eine Quelldatei liest, führt er den gesamten darin enthaltenen Code aus.
- Wenn Python die "Quelldatei" als Hauptprogramm ausführt, setzt es die spezielle Variable (__name__) auf einen Wert ("__main__").
- Wenn Sie die Hauptfunktion in Python ausführen, liest sie die "if" -Anweisung und prüft, ob __name__ gleich __main__ ist.
- In Python können Sie mit "if__name __ ==" __main__ " die Python-Dateien entweder als wiederverwendbare Module oder als eigenständige Programme ausführen .
Die Variable __name__ und das Python-Modul
Beachten Sie den folgenden Code, um die Bedeutung der Variablen __name__ in der Python-Hauptfunktionsmethode zu verstehen:
def main():print("hello world!")if __name__ == "__main__":main()print("Guru99")print("Value in built variable name is: ",__name__)
Betrachten Sie nun, Code wird als Modul importiert
import MainFunctionprint("done")
Hier ist die Code-Erklärung:
Wie C verwendet Python == zum Vergleich, während = für die Zuweisung. Der Python-Interpreter verwendet die Hauptfunktion auf zwei Arten
direkter Lauf:
- __name __ = __ main__
- if-Anweisung == True, und das Skript in _main_ wird ausgeführt
als Modul importieren
- __name __ = Dateiname des Moduls
- if-Anweisung == false und das Skript in __main__ wird nicht ausgeführt
Wenn der Code ausgeführt wird, wird der Modulname mit "if" überprüft. Dieser Mechanismus stellt sicher, dass die Hauptfunktion nur als Direktlauf ausgeführt wird, nicht beim Import als Modul.
Die obigen Beispiele sind Python 3-Codes. Wenn Sie Python 2 verwenden möchten, beachten Sie bitte den folgenden Code
def main():print "Hello World!"if __name__== "__main__":main()print "Guru99"
In Python 3 müssen Sie if__name nicht verwenden. Der folgende Code funktioniert auch
def main():print("Hello World!")main()print("Guru99")
Hinweis: Stellen Sie sicher, dass Sie nach dem Definieren der Hauptfunktion einen Einzug hinterlassen und den Code nicht direkt unter der Funktion def main (): deklarieren. Andernfalls wird ein Einrückungsfehler ausgegeben.