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")
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.
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__)
Harkitse nyt, että koodi tuodaan moduulina
import MainFunction print("done")
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.