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")

Python Fő funkció

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.

Python Fő funkció

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__)

A __name__ változó és Python Modulok

Most vegyük figyelembe, hogy a kód modulként importálódik

import MainFunction

print("done")

A __name__ változó és Python Modulok

Í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.

Foglald össze ezt a bejegyzést a következőképpen: