Python Primjer glavne funkcije i metode: Razumijevanje def Main()
Što je Python Glavna funkcija?
Python glavna funkcija je početna točka svakog programa. Kada se program pokrene, python interpreter izvodi kod sekvencijalno. Glavna funkcija se izvršava samo kada se izvodi kao a Python program. Neće pokrenuti glavnu funkciju ako je uvezena kao modul.
U čemu je funkcija def main(). Python? Da biste to razumjeli, razmotrite sljedeći primjer koda
def main() Primjer 1
def main(): print ("Hello World!") print ("Guru99")
Ovdje imamo dva ispisa - jedan je definiran unutar glavne funkcije koja je "Hello World!" a drugi je nezavisan, a to je “Guru99”. Kada pokrenete funkciju def main ():
- Ispisuje se samo "Guru99".
- a ne kod "Hello World!"
To je zato što nismo objavili poziv funkcija “if__name__== “__main__”.
Važno je da nakon definiranja glavne funkcije pozovete kod pomoću if__name__== “__main__” i zatim pokrenete kod, samo tada ćete dobiti izlaz “zdravo svijetu!” u programskoj konzoli. Razmotrite sljedeći kôd
def main() Primjer 2
def main(): print("Hello World!") if __name__ == "__main__": main() print("Guru99")
Guru99 je ispisan u ovom slučaju.
Evo objašnjenja,
- Kada Python interpreter čita izvornu datoteku, izvršit će sav kod koji se u njoj nalazi.
- Kada Python pokreće “izvornu datoteku” kao glavni program, postavlja posebnu varijablu (__name__) da ima vrijednost (“__main__”).
- Kada izvršite glavnu funkciju u pythonu, ona će tada pročitati naredbu “if” i provjeriti je li __name__ jednako __main__.
- In Python “if__name__== “__main__” omogućuje vam pokretanje Python datoteke bilo kao višekratni moduli ili samostalni programi.
Varijabla __name__ i Python Moduli
Da bismo razumjeli važnost varijable __name__ u Python metoda glavne funkcije, razmotrite sljedeći kod:
def main(): print("hello world!") if __name__ == "__main__": main() print("Guru99") print("Value in built variable name is: ",__name__)
Sada razmislite, kod se uvozi kao modul
import MainFunction print("done")
Ovdje je objašnjenje koda:
Kao C, Python koristi == za usporedbu dok = za dodjelu. Python interpreter koristi glavnu funkciju na dva načina
izravna vožnja:
- __ime__=__glavni__
- if izjava == True, a skripta u _main_bit će izvršena
uvoz kao modul
- __name__= naziv datoteke modula
- if iskaz == false, a skripta u __main__ neće biti izvršena
Kada se kôd izvrši, provjerit će naziv modula s "if". Ovaj mehanizam osigurava da se glavna funkcija izvršava samo kao izravno pokretanje, a ne kada se uvozi kao modul.
Gornji primjeri su Python 3 koda, ako želite koristiti Python 2, razmotrite sljedeći kôd
def main(): print "Hello World!" if __name__== "__main__": main() print "Guru99"
In Python 3, ne morate koristiti if__name. Sljedeći kod također radi
def main(): print("Hello World!") main() print("Guru99")
Bilješka: Pazite da nakon definiranja glavne funkcije ostavite malo uvlake i ne deklarirate kod točno ispod funkcije def main(): inače će dati pogrešku uvlake.