Python Példa a fő függvényre és módszerre: A def Main() értelmezése
Mi a Python Fő funkció?
Python fő funkció minden program kiindulópontja. Amikor a program fut, a python interpreter szekvenciálisan futtatja a kódot. A fő funkció csak akkor kerül végrehajtásra, ha a Python program. Nem fogja futtatni a fő funkciót, ha modulként importálták.
Miben található a def main() függvény? Python? Ennek megértéséhez vegye figyelembe a következő példakódot
def main() 1. példa
def main():
print ("Hello World!")
print ("Guru99")
Itt két nyomtatványt kaptunk – az egyik a fő funkción belül van meghatározva, ami a „Hello World!” a másik pedig független, ami a „Guru99”. A def main () függvény futtatásakor:
- Csak a „Guru99” kerül kinyomtatásra
- és nem a „Hello World!” kódot.
Ez azért van, mert nem jelentettük be a felhívást függvény „if__name__== „__main__”.
Fontos, hogy a fő függvény definiálása után hívd meg a kódot if__name__== „__main__”-val, majd futtasd le a kódot, csak akkor kapod meg a „hello world!” kimenetet. a programozókonzolban. Vegye figyelembe a következő kódot
def main() 2. példa
def main():
print("Hello World!")
if __name__ == "__main__":
main()
print("Guru99")
Ebben az esetben a Guru99 ki van nyomtatva.
Itt a magyarázat,
- Amikor Python Az interpreter beolvas egy forrásfájlt, akkor az abban található összes kódot végrehajtja.
- Amikor Python a „forrásfájlt” főprogramként futtatja, a speciális változót (__name__) állítja be értékre („__main__”).
- Amikor végrehajtja a fő függvényt a pythonban, akkor az elolvassa az „if” utasítást, és ellenőrzi, hogy a __name__ megegyezik-e a __main__-val.
- In Python "if__name__== "__main__" lehetővé teszi a futtatását Python fájlokat akár mint újrafelhasználható modulok vagy önálló programok.
A __name__ változó és Python Modulok
A __name__ változó fontosságának megértéséhez Python fő függvénymódszer, 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ód modulként importálódik
import MainFunction
print("done")
Íme a kód magyarázata:
Mint C, Python az ==-t használja az összehasonlításhoz, míg a =-t a hozzárendeléshez. Python Az interpreter kétféleképpen használja a fő funkciót
közvetlen futás:
- __name__=__main__
- if utasítás == True, és a _main_ben lévő parancsfájl végrehajtásra kerül
modulként importálni
- __name__= a modul fájlneve
- if utasítás == false, és a __main__ szkript nem kerül végrehajtásra
A kód végrehajtása után ellenőrzi a modul nevét az „if” karakterlánccal. Ez a mechanizmus biztosítja, hogy a fő funkció csak közvetlen futásként kerüljön végrehajtásra, modulként importálva nem.
A fenti példák Python 3 kód, ha használni szeretnéd Python 2, kérjük, vegye figyelembe a következő kódot
def main(): print "Hello World!" if __name__== "__main__": main() print "Guru99"
In Python 3, nem kell használnia az if__name értéket. A következő kód is működik
def main():
print("Hello World!")
main()
print("Guru99")
Jegyzet: Ügyeljen arra, hogy a main függvény meghatározása után hagyjon némi behúzást, és ne deklarálja a kódot közvetlenül a def main(): függvény alatt, különben behúzási hibát fog adni.




