Mi a Python fő funkciója?
A Python fő funkciója bármely program kiindulópontja. A program futtatásakor a python tolmács egymás után futtatja a kódot. A fő funkciót csak akkor hajtják végre, ha Python programként futtatják. Nem futtatja a fő funkciót, ha modulként importál.
Mi a def main () függvény a Pythonban? Ennek megértéséhez vegye figyelembe a következő példakódot
def main():print ("hello world!")print ("Guru99")
Itt két darab nyomtatott anyagot kaptunk - az egyik meghatározása a "Hello World" fő funkción belül történik, a másik pedig független, ami a "Guru99". A def main () függvény futtatásakor:
- Csak a "Guru99" nyomtat
- és nem a "Hello World" kódot.
Ennek oka, hogy nem deklaráltuk az "if__name __ ==" __main__ "hívásfüggvényt.
Fontos, hogy a fő funkció meghatározása után hívja meg a kódot az if__name __ == "__main__" mezővel, majd futtassa a kódot, csak akkor kapja meg a "hello world!" Kimenetet. a programozó konzolon. Vegye figyelembe a következő kódot
def main():print("hello world!")if __name__ == "__main__":main()print("Guru99")
Ebben az esetben a Guru99 van nyomtatva.
Itt van a magyarázat,
- Amikor a Python tolmács elolvas egy forrásfájlt, végrehajtja az abban található összes kódot.
- Amikor a Python futtatja a "forrásfájlt" fő programként, akkor a speciális (__név__) változó értékét állítja be ("__main__").
- Amikor végrehajtja a fő függvényt a pythonban, akkor beolvassa az "if" utasítást, és ellenőrzi, hogy a __name__ egyenlő-e a __main__ -val.
- A Pythonban az "if__name __ ==" __main__ " lehetővé teszi a Python fájlok futtatását újrafelhasználható modulokként vagy önálló programként.
A __name__ változó és a Python modul
A __name__ változó fontosságának megértéséhez a Python fő funkció metódusában vegye figyelembe a következő kódot:
def main():print("hello world!")if __name__ == "__main__":main()print("Guru99")print("Value in built variable name is: ",__name__)
Most vegyük figyelembe, hogy a kódot modulként importálják
import MainFunctionprint("done")
Itt van a kód magyarázata:
A C-hez hasonlóan a Python az == értéket használja az összehasonlításhoz, míg a = a hozzárendeléshez. A Python tolmács kétféle módon használja a fő funkciót
közvetlen futás:
- __név __ = __ fő__
- if utasítás == Igaz, és a _main_ parancsfájl végrehajtásra kerül
importálás modulként
- __név __ = modul fájlneve
- if utasítás == hamis, és a __main__ szkript nem lesz végrehajtva
A kód végrehajtásakor az "if" -nel ellenőrzi a modul nevét. Ez a mechanizmus biztosítja, hogy a fő funkció csak közvetlen futtatásként kerül végrehajtásra, nem pedig modulként importálva.
A fenti példák a Python 3 kódokat tartalmazzák. Ha Python 2-t szeretne használni, vegye figyelembe a következő kódot
def main():print "Hello World!"if __name__== "__main__":main()print "Guru99"
A Python 3-ban nem kell használnia az if__name szót. A következő kód is működik
def main():print("Hello World!")main()print("Guru99")
Megjegyzés: Győződjön meg róla, hogy a fő függvény meghatározása után hagyjon néhány behúzást, és ne deklarálja a kódot közvetlenül a def main (): function alatt, különben behúzási hibát ad.