logo

Python galvenā funkcija

Galvenā funkcija ir kā programmas ieejas punkts. Tomēr Python tulks palaiž kodu tieši no pirmās rindas. Koda izpilde sākas no sākuma līnijas un iet pa rindiņai. Nav svarīgi, kur atrodas galvenā funkcija, vai tā ir vai nav.

Tā kā navmain()>funkcija Python, kad tulkam tiek dota komanda palaist Python programmu, ir jāizpilda kods, kas atrodas 0 līmeņa atkāpē. Tomēr pirms tā veikšanas tas definēs dažus īpašus mainīgos.__name__>ir viens no šādiem īpašajiem mainīgajiem. Ja avota fails tiek izpildīts kā galvenā programma, tulks iestata__name__>mainīgajam, lai tam būtu vērtība__main__>. Ja šis fails tiek importēts no cita moduļa,__name__>tiks iestatīts uz moduļa nosaukumu.
__name__>ir iebūvēts mainīgais, kas novērtē pašreizējā moduļa nosaukumu.



Piemērs:








# 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 arhitektūra

>

int virknē
>

Izvade:

 Hello hey there>

Kad tiek izpildīta iepriekšminētā programma, tulks kā galveno nosaukumu deklarē sākotnējo vērtību. Kad tulks sasniedz if priekšrakstu, tas pārbauda nosaukuma vērtību un, ja if vērtība ir patiesa, tas palaiž galveno funkciju, pretējā gadījumā galvenā funkcija netiek izpildīta.

Galvenā funkcija kā modulis

Tagad, kad mēs importējam Python skriptu kā moduli__name__>mainīgais iegūst tādu pašu vērtību kā importētā python skripta nosaukums.

Piemērs: Pieņemsim, ka ir divi faili (File1.py un File2.py). Fails1 ir šāds.




kas ir dators

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

>

>

Izvade:

 File1 __name__ = __main__ File1 is being run directly>

Tagad, kad File1.py ir importēts File2.py, __name__ vērtība mainās.




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

cilpa bash

>

>

Izvade:

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

Kā redzams iepriekš, kad File1.py tiek palaista tieši, tulks iestata__name__>mainīgais kā__main__>un, kad tas tiek palaists caur failu File2.py, importējot, mainīgais __name__ tiek iestatīts kā python skripta nosaukums, t.i., File1. Tādējādi var teikt, ka, ja __name__ == __main__ ir tā programmas daļa, kas tiek palaista, kad skripts tiek palaists no komandrindas, izmantojot komandu, piemēram, Python File1.py.