Python hovedfunksjon

I denne opplæringen vil vi lære hvordan du bruker et Python-programmets attributt __name__ for å kjøre det dynamisk i forskjellige sammenhenger.

Hva er hovedfunksjonen () i Python?

Noen programmeringsspråk har en spesiell funksjon som kalles main()utførelsespunktet for en programfil. Python-tolk kjører imidlertid hver linje serielt fra toppen av filen og har ingen eksplisitt main()funksjon.

Python tilbyr andre konvensjoner for å definere utførelsespunktet. En av dem bruker main()funksjonen og egenskapen __name__ til en python-fil.

Hva er __name__ i Python?

__Name__-variabelen er en spesiell innebygd Python-variabel som viser navnet på den gjeldende modulen.

Den har forskjellige verdier avhengig av hvor vi kjører Python-filen. La oss se på et eksempel.

Kjører Python File som et skript

Anta at vi har en Python-fil kalt helloworld.py med følgende innhold:

 print(__name__) 

Hvis vi kjører helloworld.py fra kommandolinjen, kjører den som et Python-skript. Vi kan kjøre Python-programmet ved hjelp av følgende kommando:

$ python helloworld.py

Når vi kjører programmet som et skript, er verdien til variabelen __name__ satt til __main__. Så resultatet av følgende program vil være:

 __hoved__ 

Kjører Python-fil som en modul

Vi kan også kjøre en Python-fil som en modul. For dette må vi importere denne filen til et annet Python-program. La oss se på et eksempel.

Anta at vi har en Python-fil kalt main.py i samme katalog som heloworld.py-filen. Den har følgende innhold:

 import helloworld 

Når vi kjører denne filen, vil vi ha følgende utdata:

 Hei Verden 

Her kan vi se at import av en modul også kjører all koden i modulfilen.

Men vi kan se at i stedet for å vise __main__, viser programmet navnet på modulen, dvs. helloworld.

Det er fordi, i sammenheng med å kjøre en Python-fil som en modul, er navnet på selve modulen tilordnet __name__-variabelen.

Bruker hvis betinget med __name__

Nå som vi har forstått hvordan __name__-variabelen tildeles verdier, kan vi bruke den ifbetingede klausulen til å kjøre den samme Python-filen på forskjellige måter i forskjellige sammenhenger.

La oss se på et eksempel.

Anta at vi endrer innholdet i helloworld.py- filen til følgende:

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

Nå, når vi kjører det som et skript via kommandolinjen, vil utdataene være:

 Hei Verden 

Men når vi kjører den som en modul ved å importere den til main.py- filen, vises ingen utdata siden main()funksjonen ikke kalles.

Her har vi opprettet en egendefinert main()funksjon i helloworld.py- filen. Det kjøres bare når programmet kjøres som et frittstående skript og ikke som en importert modul.

Dette er standard måten å eksplisitt definere main()funksjonen i Python. Det er en av de mest populære tilfellene av __name__-variabelen til en Python-fil.

Interessante artikler...