Python-päätoiminto

Tässä opetusohjelmassa opitaan, kuinka Python-ohjelman __name__ -attribuuttia voidaan käyttää dynaamisesti eri tilanteissa.

Mikä on Pythonin tärkein () -funktio?

Joillakin ohjelmointikielillä on erityinen toiminto nimeltä main()ohjelmatiedoston suorituspiste. Python-tulkki kuitenkin suorittaa jokaisen rivin sarjana tiedoston yläosasta, eikä sillä ole nimenomaista main()toimintoa.

Python tarjoaa muita käytäntöjä suorituspisteen määrittelemiseksi. Yksi niistä käyttää main()python-tiedoston toimintoa ja ominaisuutta __name__.

Mikä on __name__ Pythonissa?

Muuttuja __name__ on erityinen sisäänrakennettu Python-muuttuja, joka näyttää nykyisen moduulin nimen.

Sillä on erilaiset arvot riippuen siitä, missä suoritamme Python-tiedoston. Katsotaanpa esimerkkiä.

Python-tiedoston ajaminen skriptinä

Oletetaan, että meillä on Python-tiedosto nimeltä helloworld.py , jonka sisältö on seuraava:

 print(__name__) 

Jos suoritamme helloworld.py komentoriviltä, ​​se toimii Python-skriptinä. Voimme suorittaa Python-ohjelman seuraavalla komennolla:

$ python helloworld.py

Kun suoritamme ohjelmaa skriptinä, muuttujan __name__ arvoksi asetetaan __main__. Joten seuraavan ohjelman tulos on:

 hannu 

Python-tiedoston suorittaminen moduulina

Voimme myös suorittaa Python-tiedoston moduulina. Tätä varten meidän on tuotava tämä tiedosto toiseen Python-ohjelmaan. Katsotaanpa esimerkkiä.

Oletetaan, että meillä on Python-tiedosto nimeltä main.py samassa hakemistossa kuin heloworld.py-tiedosto. Sen sisältö on seuraava:

 import helloworld 

Kun suoritamme tämän tiedoston, meillä on seuraava tulos:

 Hei maailma 

Täällä voimme nähdä, että moduulin tuominen suorittaa myös kaiken moduulitiedoston koodin.

Mutta voimme nähdä, että __main__: n näyttämisen sijaan ohjelma näyttää moduulin nimen eli helloworld.

Tämä johtuu siitä, että Python-tiedoston suorittamisen moduulina yhteydessä itse moduulin nimi annetaan muuttujalle __name__.

Jos ehdollinen käytetään __name__ kanssa

Nyt kun olemme ymmärtäneet, kuinka muuttujalle __name__ määritetään arvot, voimme käyttää ifehdollista lauseketta saman Python-tiedoston suorittamiseen eri tavoin eri tilanteissa.

Katsotaanpa esimerkkiä.

Oletetaan, että muutamme helloworld.py- tiedoston sisällön seuraavaksi:

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

Nyt kun suoritamme sen komentotiedostona komentorivin kautta, tulos on

 Hei maailma 

Kuitenkin, kun suoritamme sen moduulina tuomalla sen main.py- tiedostoon, tulostetta ei näytetä, koska main()toimintoa ei kutsuta.

Tässä olemme luoneet mukautetun main()toiminnon helloworld.py- tiedostoon. Se suoritetaan vain, kun ohjelmaa suoritetaan erillisenä komentosarjanaan, ei tuotuna moduulina.

Tämä on tavanomainen tapa määritellä main()funktio nimenomaisesti Pythonissa. Se on yksi suosituimmista Python-tiedoston muuttujan __name__ käyttötapauksista.

Mielenkiintoisia artikkeleita...