Python Główna funkcja i metoda Przykład: Zrozumienie def Main()
Co to jest Python Główna funkcja?
Python główna funkcja jest punktem startowym każdego programu. Gdy program jest uruchamiany, interpreter Pythona uruchamia kod sekwencyjnie. Funkcja główna jest wykonywana tylko wtedy, gdy jest uruchamiana jako Python program. Nie uruchomi głównej funkcji, jeśli zostanie zaimportowany jako moduł.
Do czego służy funkcja def main()? PythonAby to zrozumieć, rozważ poniższy przykładowy kod
def main() Przykład 1
def main(): print ("Hello World!") print ("Guru99")
Tutaj mamy dwa fragmenty wydruku – jeden jest zdefiniowany w głównej funkcji, czyli „Hello World!” a drugi jest niezależny, czyli „Guru99”. Po uruchomieniu funkcji def main ():
- Drukowane jest tylko „Guru99”.
- a nie kod „Hello World!”
To dlatego, że nie zadeklarowaliśmy wezwania funkcja „if__name__== „__main__”.
Ważne jest, aby po zdefiniowaniu funkcji main wywołać kod za pomocą if__name__== “__main__” i następnie uruchomić kod, tylko wtedy otrzymasz wynik „hello world!” w konsoli programowania. Rozważ następujący kod
def main() Przykład 2
def main(): print("Hello World!") if __name__ == "__main__": main() print("Guru99")
W tym przypadku drukowane jest Guru99.
Oto wyjaśnienie,
- Kiedy Python interpreter czyta plik źródłowy, wykona cały znajdujący się w nim kod.
- Kiedy Python uruchamia „plik źródłowy” jako program główny, ustawia zmienną specjalną (__nazwa__) na wartość („__main__”).
- Kiedy wykonasz główną funkcję w Pythonie, odczyta ona instrukcję „if” i sprawdzi, czy __name__ jest równe __main__.
- In Python „if__name__== „__main__” pozwala na uruchomienie Python pliki albo jako moduły wielokrotnego użytku lub samodzielne programy.
Zmienna __name__ i Python Moduł
Aby zrozumieć znaczenie zmiennej __name__ w Python metoda funkcji main, rozważmy następujący kod:
def main(): print("hello world!") if __name__ == "__main__": main() print("Guru99") print("Value in built variable name is: ",__name__)
Teraz rozważmy, że kod jest importowany jako moduł
import MainFunction print("done")
Oto wyjaśnienie kodu:
Podobnie jak C. Python używa == do porównania, podczas gdy = do przypisania. Python interpreter używa funkcji main na dwa sposoby
bieg bezpośredni:
- __imię__=__główny__
- if instrukcja == True, a skrypt w _main_zostanie wykonany
importuj jako moduł
- __name__= nazwa pliku modułu
- if instrukcja == false, a skrypt w __main__ nie zostanie wykonany
Kiedy kod zostanie wykonany, sprawdzi nazwę modułu za pomocą „if”. Mechanizm ten zapewnia, że główna funkcja jest wykonywana tylko jako bezpośrednie działanie, a nie podczas importu jako moduł.
Powyższe przykłady to Python 3 kody, jeśli chcesz skorzystać Python 2, proszę rozważyć poniższy kod
def main(): print "Hello World!" if __name__== "__main__": main() print "Guru99"
In Python 3, nie musisz używać if__name. Poniższy kod również działa
def main(): print("Hello World!") main() print("Guru99")
Uwaga: Upewnij się, że po zdefiniowaniu funkcji main pozostawisz wcięcie i nie zadeklarujesz kodu bezpośrednio pod funkcją def main(): , w przeciwnym razie wystąpi błąd wcięcia.