Python Hoofdfunctie en methode Voorbeeld: Begrijp def Main()

Wat is Python Hoofdfunctie?

Python hoofdfunctie is een startpunt van elk programma. Wanneer het programma wordt uitgevoerd, voert de python-interpreter de code sequentieel uit. De hoofdfunctie wordt alleen uitgevoerd wanneer deze wordt uitgevoerd als een Python programma. De hoofdfunctie wordt niet uitgevoerd als deze als module wordt geïmporteerd.

Wat is de functie def main()? PythonOm dit te begrijpen, bekijk de volgende voorbeeldcode

def main() Voorbeeld 1

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

Python Belangrijkste functie

Hier hebben we twee stukjes afdruk: één is gedefinieerd in de hoofdfunctie, namelijk "Hallo wereld!" en de andere is onafhankelijk, namelijk “Guru99”. Wanneer u de functie def main () uitvoert:

  • Alleen “Guru99” wordt afgedrukt
  • en niet de code “Hallo wereld!”

Het is omdat we de oproep niet hebben gemeld functie “if__name__== “__main__”.

Het is belangrijk dat u na het definiëren van de hoofdfunctie de code aanroept met if__name__== “__main__” en vervolgens de code uitvoert. Alleen dan krijgt u de uitvoer “hello world!” in de programmeerconsole. Bekijk de volgende code

def main() Voorbeeld 2

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

if __name__ == "__main__":
    main()

print("Guru99")


In dit geval wordt Guru99 afgedrukt.

Python Belangrijkste functie

Hier is de uitleg,

  • . Python interpreter een bronbestand leest, zal het alle daarin gevonden code uitvoeren.
  • . Python voert het “bronbestand” uit als het hoofdprogramma, het stelt de speciale variabele (__name__) in op een waarde (“__main__”).
  • Wanneer u de hoofdfunctie in Python uitvoert, leest deze de “if” -instructie en controleert of __name__ gelijk is aan __main__.
  • In Python “if__naam__== “__main__” stelt u in staat om de Python bestanden ofwel als herbruikbare modules of zelfstandige programma's.

De __name__ variabele en Python Module

Om het belang van de variabele __name__ te begrijpen in Python hoofdfunctiemethode, overweeg de volgende code:

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

if __name__ == "__main__":
    main()

print("Guru99")

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

De __name__ variabele en Python Module

Bedenk nu dat code als een module wordt geïmporteerd

import MainFunction

print("done")

De __name__ variabele en Python Module

Hier is de code-uitleg:


Zoals C, Python gebruikt == voor vergelijking terwijl = voor toewijzing. Python interpreter gebruikt de hoofdfunctie op twee manieren

directe vlucht:

  • __naam__=__hoofd__
  • if statement == True, en het script in _main_zal worden uitgevoerd

importeren als module

  • __name__= bestandsnaam van de module
  • if statement == false, en het script in __main__ zal niet worden uitgevoerd

Wanneer de code wordt uitgevoerd, wordt gecontroleerd op de modulenaam met 'if'. Dit mechanisme zorgt ervoor dat de hoofdfunctie alleen wordt uitgevoerd als directe uitvoering en niet wanneer deze als module wordt geïmporteerd.

Bovenstaande voorbeelden zijn Python 3 codes, als je wilt gebruiken Python 2. Houd rekening met de volgende code

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

print "Guru99"

In Python 3, je hoeft if__name niet te gebruiken. De volgende code werkt ook

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

Opmerking: Zorg ervoor dat u na het definiëren van de hoofdfunctie een beetje inspringing laat staan ​​en dat u de code niet direct onder de def main(): functie declareert, anders krijgt u een inspringfout.