Hva er Pythons hovedfunksjon?
Pythons hovedfunksjon er et utgangspunkt for ethvert program. Når programmet kjøres, kjører pythontolken koden sekvensielt. Hovedfunksjonen utføres bare når den kjøres som et Python-program. Den kjører ikke hovedfunksjonen hvis den importeres som en modul.
Hva er def main () -funksjonen i Python? For å forstå dette, bør du vurdere følgende eksempelkode
def main():print ("hello world!")print ("Guru99")
Her fikk vi to utskrifter - den 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 anropsfunksjonen "if__name __ ==" __main__ ".
Det er viktig at du etter å ha definert hovedfunksjonen, kaller koden ved if__name __ == "__main__" og deretter kjører koden, bare da får du utdata "hallo verden!" i programmeringskonsollen. Vurder følgende kode
def main():print("hello world!")if __name__ == "__main__":main()print("Guru99")
Guru99 er skrevet ut i dette tilfellet.
Her er forklaringen,
- Når Python-tolk leser en kildefil, vil den utføre all koden som finnes i den.
- Når Python kjører "kildefilen" som hovedprogram, setter den den spesielle variabelen (__name__) til å ha en verdi ("__main__").
- Når du utfører hovedfunksjonen i python, vil den lese "if" -uttalelsen og sjekke om __name__ tilsvarer __main__.
- I Python lar "if__name __ ==" __main__ " deg kjøre Python-filene enten som gjenbrukbare moduler eller frittstående programmer.
__Name__-variabelen og Python-modulen
For å forstå viktigheten av __name__-variabelen i Python-hovedfunksjonsmetoden, bør du vurdere følgende kode:
def main():print("hello world!")if __name__ == "__main__":main()print("Guru99")print("Value in built variable name is: ",__name__)
Tenk nå at kode importeres som en modul
import MainFunctionprint("done")
Her er kodeforklaringen:
Som C bruker Python == til sammenligning mens = til 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
importer som modul
- __name __ = modulens filnavn
- hvis uttalelse == usant, og skriptet i __main__ ikke vil bli utført
Når koden kjøres, vil den se etter modulnavnet med "if". Denne mekanismen sørger for at hovedfunksjonen bare utføres som direkte kjøring, ikke når den importeres som en modul.
Ovenstående eksempler er Python 3-koder. Hvis du vil bruke Python 2, kan du vurdere å følge koden
def main():print "Hello World!"if __name__== "__main__":main()print "Guru99"
I Python 3 trenger du ikke bruke if__name. Følgende kode fungerer også
def main():print("Hello World!")main()print("Guru99")
Merk: Forsikre deg om at etter at du har definert hovedfunksjonen, legger du igjen noe innrykk og ikke erklærer koden rett under def main (): funksjon ellers vil det gi innrykkfeil.