Python Hovedfunksjon og metode Eksempel: Forstå def Main()

Hva er Python Hovedfunksjon?

Python hovedfunksjon er et utgangspunkt for ethvert program. Når programmet kjøres, kjører python-tolken koden sekvensielt. Hovedfunksjonen utføres bare når den kjøres som en Python program. Den vil ikke kjøre hovedfunksjonen hvis den importeres som en modul.

Hva er def main()-funksjonen i Python? For å forstå dette, vurder følgende eksempelkode

def main() Eksempel 1

def main():
     print ("Hello World!")
print ("Guru99")

Python hoved~~POS=TRUNC

Her har vi to stykker av trykk- det ene er definert i hovedfunksjonen som er "Hello World!" og den andre er uavhengig, som er "Guru99". Når du kjører funksjonen def main ():

  • Bare "Guru99" skrives ut
  • og ikke koden "Hello World!"

Det er fordi vi ikke erklærte samtalen funksjonen "if__name__== "__main__".

Det er viktig at du etter å ha definert hovedfunksjonen kaller koden ved if__name__== "__main__" og deretter kjører koden, først da vil du få utgangen "hello world!" i programmeringskonsollen. Tenk på følgende kode

def main() Eksempel 2

def main():
    print("Hello World!")

if __name__ == "__main__":
    main()

print("Guru99")


Guru99 er skrevet ut i dette tilfellet.

Python hoved~~POS=TRUNC

Her er forklaringen,

  • Når Python tolk leser en kildefil, vil den kjøre all koden som finnes i den.
  • Når Python kjører "kildefilen" som hovedprogram, setter den spesialvariabelen (__name__) til å ha en verdi ("__main__").
  • Når du utfører hovedfunksjonen i python, vil den lese "if"-setningen og sjekke om __name__ er lik __main__.
  • In Python “if__name__== “__main__” lar deg kjøre Python filer enten som gjenbrukbare moduler eller frittstående programmer.

Variabelen __name__ og Python Moduler

For å forstå viktigheten av __name__ variabel i Python hovedfunksjonsmetode, vurder følgende kode:

def main():
    print("hello world!")

if __name__ == "__main__":
    main()

print("Guru99")

print("Value in built variable name is:  ",__name__)

Variabelen __name__ og Python Moduler

Tenk nå på at koden importeres som en modul

import MainFunction

print("done")

Variabelen __name__ og Python Moduler

Her er kodeforklaringen:


Som C, Python bruker == for sammenligning mens = for oppgave. Python tolk bruker hovedfunksjonen på to måter

direkte løp:

  • __navn__=__main__
  • if statement == True, og skriptet i _main_vil bli utført

importere som en modul

  • __name__= modulens filnavn
  • if statement == false, og skriptet i __main__ vil ikke bli utført

Når koden er utført, vil den se etter modulnavnet med "hvis." Denne mekanismen sikrer at hovedfunksjonen kun utføres som direkte kjøring, ikke når den importeres som en modul.

Eksemplene ovenfor er Python 3 koder, hvis du vil bruke Python 2, bør du vurdere følgende kode

def main():
  print "Hello World!"
  
if __name__== "__main__":
  main()

print "Guru99"

In Python 3, trenger du ikke bruke if__name. Følgende kode fungerer også

def main():
  print("Hello World!")
  
main()
print("Guru99")

OBS: Forsikre deg om at etter å ha definert hovedfunksjonen, lar du noe innrykk og ikke deklarere koden rett under funksjonen def main(): ellers vil det gi innrykk feil.