Heim  >  Artikel  >  Backend-Entwicklung  >  Was macht „if __name__ == __main__:'?

Was macht „if __name__ == __main__:'?

anonymity
anonymityOriginal
2019-05-24 14:43:1813790Durchsuche

Die Rolle von „if __name__ == __main__:“: gibt die Hauptmethodenfunktion an. Die Hauptfunktion wird gestartet, wenn das Skript ausgeführt wird, wird jedoch nicht ausgeführt, wenn andere Dateien importiert werden.

Was macht „if __name__ == __main__:'?

Es gibt zwei Möglichkeiten, eine Python-Datei zu verwenden. Die erste besteht darin, sie direkt als Skript auszuführen, und die zweite darin, sie in das Python-Skript zu importieren Ausführung anderer Dateien (Modulwiederverwendung). Daher besteht die Funktion von if name == 'main': darin, den Prozess der Codeausführung in diesen beiden Situationen zu steuern. Der Code unter if name == 'main': kann nur in der ersten Situation ausgeführt werden (d. h. die Datei wird direkt als Skript ausgeführt), der Import in andere Skripte wird jedoch nicht ausgeführt.

Beispiel:

# file one.pydef func():
    print("func() in one.py")
print("top-level in one.py")if __name__ == "__main__":
    print("one.py is being run directly")else:
    print("one.py is being imported into another module")
# file two.pyimport one        # start executing one.pyprint("top-level in two.py")
one.func()if __name__ == "__main__":
    print("two.py is being run directly")else:
    print("two.py is being imported into another module")

Beim Ausführen von Python One.py lautet die Ausgabe:

top-level in one.py
one.py is being run directly

Beim Ausführen von Python Two.py lautet die Ausgabe:

top-level in one.py
one.py is being imported into another module
top-level in one.pyfunc() in one.py
two.py is being run directly

Das obige ist der detaillierte Inhalt vonWas macht „if __name__ == __main__:'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn