Python Esimerkki pääfunktiosta ja menetelmästä: Ymmärrä def Main()

Mikä on Python Päätoiminto?

Python päätoiminto on minkä tahansa ohjelman lähtökohta. Kun ohjelma ajetaan, python-tulkki suorittaa koodin peräkkäin. Päätoiminto suoritetaan vain, kun se suoritetaan a Python ohjelmoida. Se ei suorita päätoimintoa, jos se tuodaan moduulina.

Mikä on def main() -funktio Python? Tämän ymmärtämiseksi harkitse seuraavaa esimerkkikoodia

def main() Esimerkki 1

def main():
     print ("Hello World!")
print ("Guru99")

Python Päätehtävä

Tässä meillä on kaksi tulostetta - yksi on määritelty päätoiminnossa "Hello World!" ja toinen on riippumaton, joka on "Guru99". Kun suoritat funktion def main ():

  • Vain "Guru99" tulostuu
  • eikä koodia "Hei maailma!"

Se johtuu siitä, ettemme ilmoittaneet kutsusta funktio "if__name__== "__main__".

On tärkeää, että pääfunktion määrittämisen jälkeen kutsut koodia nimellä if__name__== “__main__” ja suoritat sitten koodin, vasta sitten saat tulosteen “hello world!” ohjelmointikonsolissa. Harkitse seuraavaa koodia

def main() Esimerkki 2

def main():
    print("Hello World!")

if __name__ == "__main__":
    main()

print("Guru99")


Guru99 on painettu tässä tapauksessa.

Python Päätehtävä

Tässä on selitys,

  • Kun Python tulkki lukee lähdetiedoston, se suorittaa kaiken siitä löytyvän koodin.
  • Kun Python suorittaa "lähdetiedoston" pääohjelmana, se asettaa erikoismuuttujalle (__name__) arvon ("__main__").
  • Kun suoritat pääfunktion pythonissa, se lukee sitten "if"-lauseen ja tarkistaa, onko __name__ yhtä kuin __main__.
  • In Python "if__name__== "__main__" antaa sinun ajaa Python tiedostot joko muodossa uudelleenkäytettävät moduulit tai erilliset ohjelmat.

__name__-muuttuja ja Python Moduulit

Ymmärtääksesi muuttujan __name__ tärkeyden Python päätoimintomenetelmä, harkitse seuraavaa koodia:

def main():
    print("hello world!")

if __name__ == "__main__":
    main()

print("Guru99")

print("Value in built variable name is:  ",__name__)

__name__-muuttuja ja Python Moduulit

Harkitse nyt, että koodi tuodaan moduulina

import MainFunction

print("done")

__name__-muuttuja ja Python Moduulit

Tässä koodin selitys:


Kuten C, Python käyttää == vertailuun, kun taas = tehtävän antamiseen. Python tulkki käyttää päätoimintoa kahdella tavalla

suora juoksu:

  • __name__=__main__
  • if lauseke == True, ja komentosarja _main_ssa suoritetaan

tuoda moduulina

  • __name__= moduulin tiedostonimi
  • if lauseke == false, ja komentosarjaa __main__ ei suoriteta

Kun koodi suoritetaan, se tarkistaa moduulin nimen "if". Tämä mekanismi varmistaa, että päätoiminto suoritetaan vain suorana suorituksena, ei moduulina tuotuna.

Yllä olevat esimerkit ovat Python 3 koodia, jos haluat käyttää Python 2, harkitse seuraavaa koodia

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

print "Guru99"

In Python 3, sinun ei tarvitse käyttää if__name. Myös seuraava koodi toimii

def main():
  print("Hello World!")
  
main()
print("Guru99")

Huomautus: Varmista, että pääfunktion määrittämisen jälkeen jätät jonkin verran sisennystä etkä ilmoita koodia suoraan def main(): -funktion alle, muuten se antaa sisennysvirheen.