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")

Python Glavna funkcija

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.

Python Glavna funkcija

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__)

Varijabla __name__ i Python Moduli

Sada razmislite, kod se uvozi kao modul

import MainFunction

print("done")

Varijabla __name__ i Python Moduli

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.

Saลพmite ovu objavu uz: