Glavna funkcija je kot vstopna točka programa. Vendar tolmač Python zažene kodo že v prvi vrstici. Izvajanje kode se začne od začetne vrstice in poteka vrstico za vrstico. Ni pomembno, kje je glavna funkcija prisotna ali je prisotna ali ne.
Ker nimain()>funkcijo v Pythonu, ko je tolmaču dan ukaz za zagon programa Python, je treba izvesti kodo, ki je na ravni zamika 0. Preden pa to stori, bo definiral nekaj posebnih spremenljivk.__name__>je ena taka posebna spremenljivka. Če se izvorna datoteka izvaja kot glavni program, tolmač nastavi__name__>spremenljivka, da ima vrednost__main__>. Če se ta datoteka uvaža iz drugega modula,__name__>bo nastavljen na ime modula.
__name__>je vgrajena spremenljivka, ki ovrednoti ime trenutnega modula.
primer:
# 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()> |
java metoda
>
podatkovne strukture v Javi
>
Izhod:
Hello hey there>
Ko se zgornji program izvede, tolmač razglasi začetno vrednost imena kot glavno. Ko tolmač doseže stavek if, preveri vrednost name in ko je vrednost if resnična, zažene glavno funkcijo, sicer se glavna funkcija ne izvede.
Glavna funkcija kot modul
Zdaj, ko uvozimo skript Python kot modul,__name__>spremenljivka dobi enako vrednost kot ime uvoženega skripta python.
primer: Recimo, da obstajata dve datoteki (File1.py in File2.py). Datoteka1 je naslednja.
razvrščanje z združevanjem
# File1.py> > print>(>'File1 __name__ = %s'> %>__name__)> > if> __name__>=>=> '__main__'>:> >print>(>'File1 is being run directly'>)> else>:> >print>(>'File1 is being imported'>)> |
>
>
Izhod:
File1 __name__ = __main__ File1 is being run directly>
Zdaj, ko je File1.py uvožen v File2.py, se vrednost __name__ spremeni.
# File2.py> > import> File1> > print>(>'File2 __name__ = %s'> %>__name__)> > if> __name__>=>=> '__main__'>:> >print>(>'File2 is being run directly'>)> else>:> >print>(>'File2 is being imported'>)> |
aws rdeči premik
>
>
Izhod:
File1 __name__ = File1 File1 is being imported File2 __name__ = __main__ File2 is being run directly>
Kot je prikazano zgoraj, ko se File1.py zažene neposredno, tolmač nastavi__name__>spremenljivka kot__main__>in ko se izvaja prek File2.py z uvozom, je spremenljivka __name__ nastavljena kot ime skripta python, tj. File1. Tako lahko rečemo, da če je __name__ == __main__ del programa, ki se zažene, ko se skript zažene iz ukazne vrstice z ukazom, kot je Python File1.py.