logo

Python hovedfunksjon

Hovedfunksjonen er som inngangspunktet til et program. Imidlertid kjører Python-tolk koden rett fra første linje. Utførelsen av koden starter fra startlinjen og går linje for linje. Det spiller ingen rolle hvor hovedfunksjonen er tilstede eller den er til stede eller ikke.

Siden det er neimain()>funksjon i Python, når kommandoen for å kjøre et Python-program er gitt til tolken, skal koden som er på nivå 0-innrykk utføres. Men før du gjør det, vil den definere noen få spesielle variabler.__name__>er en slik spesiell variabel. Hvis kildefilen kjøres som hovedprogram, setter tolken__name__>variabel for å ha en verdi__main__>. Hvis denne filen blir importert fra en annen modul,__name__>settes til modulens navn.
__name__>er en innebygd variabel som evaluerer til navnet på gjeldende modul.



Eksempel:

liste sorter java








# Python program to demonstrate> # main() function> > > print>(>'Hello'>)> > # Defining main function> def> main():> >print>(>'hey there'>)> > > # Using the special variable> # __name__> if> __name__>=>=>'__main__'>:> >main()>

>

>

Produksjon:

 Hello hey there>

Når programmet ovenfor kjøres, erklærer tolken startverdien til navnet som hoved. Når tolken når if-setningen, sjekker den for verdien av navnet, og når verdien av if er sann, kjører den hovedfunksjonen, ellers blir ikke hovedfunksjonen utført.

Hovedfunksjon som modul

Når vi nå importerer et Python-skript som modul__name__>variabel får verdien samme som navnet på python-skriptet som er importert.

Eksempel: La oss vurdere at det er to filer (File1.py og File2.py). Fil1 er som følger.




# File1.py> > print>(>'File1 __name__ = %s'> %>__name__)> > if> __name__>=>=> '__main__'>:> >print>(>'File1 is being run directly'>)> else>:> >print>(>'File1 is being imported'>)>

int i streng
>

>

Produksjon:

 File1 __name__ = __main__ File1 is being run directly>

Nå, når File1.py importeres til File2.py, endres verdien av __name__.




aes vs des

# File2.py> > import> File1> > print>(>'File2 __name__ = %s'> %>__name__)> > if> __name__>=>=> '__main__'>:> >print>(>'File2 is being run directly'>)> else>:> >print>(>'File2 is being imported'>)>

>

>

Produksjon:

 File1 __name__ = File1 File1 is being imported File2 __name__ = __main__ File2 is being run directly>

Som vist ovenfor, når File1.py kjøres direkte, setter tolken__name__>variabel som__main__>og når den kjøres gjennom File2.py ved import, settes __name__-variabelen som navnet på python-skriptet, dvs. File1. Dermed kan det sies at hvis __name__ == __main__ er den delen av programmet som kjører når skriptet kjøres fra kommandolinjen ved hjelp av en kommando som Python File1.py.