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.




