Python hoofdfunctie

Python hoofdfunctie wordt alleen uitgevoerd wanneer het als een python-programma wordt uitgevoerd. Zoals je weet, kunnen we ook een Python-programma importeren als een module; in dat geval moet de Python-hoofdmethode niet worden uitgevoerd.

Python hoofdfunctie

De hoofdfunctie is het startpunt van elk programma. Maar de Python-interpreter voert de broncode sequentieel uit en roept geen enkele methode aan als deze geen deel uitmaakt van de code. Maar als het direct deel uitmaakt van de code, wordt het uitgevoerd wanneer het bestand wordt geïmporteerd als een module. Daarom is er een speciale techniek om de hoofdmethode in een Python-programma te definiëren, zodat deze alleen wordt uitgevoerd wanneer het programma rechtstreeks wordt uitgevoerd en niet wordt uitgevoerd bij importeren als een module. Laten we zien hoe we de Python hoofdfunctie in een eenvoudig programma definiëren. python_main_function.py

print("Hello")

print("__name__ value: ", __name__)


def main():
    print("python main function")


if __name__ == '__main__':
    main()
  • Wanneer een Python-programma wordt uitgevoerd, begint de Python-interpreter met het uitvoeren van de code erin. Het stelt ook enkele impliciete variabele waarden in, waarvan er één __name__ is, waarvan de waarde wordt ingesteld als __main__.

  • Voor de hoofdfunctie in Python moeten we een functie definiëren en vervolgens de voorwaarde if __name__ == '__main__' gebruiken om deze functie uit te voeren.

  • Als het Python-bronbestand wordt geïmporteerd als module, stelt de Python-interpreter de waarde van __name__ in op de modulenaam, zodat de if-voorwaarde onwaar zal zijn en de hoofdmethode niet zal worden uitgevoerd.

  • Python biedt ons flexibiliteit om elke naam te gebruiken voor de hoofdmethode, maar het is een goede gewoonte om deze als de methode main() te benoemen. Onderstaande code is prima, maar niet aanbevolen.

    def main1():
        print("Python hoofdfunctie")
    
    
    if __name__ == '__main__':
        main1()
    

Hieronder wordt de uitvoer getoond wanneer het bronbestand python_main_function.py wordt uitgevoerd.

Python hoofdfunctie als module

Laten we nu het bovenstaande Python-bronbestand als een module gebruiken en importeren in een ander programma. python_import.py

import python_main_function

print("Done")

Wanneer het bovenstaande programma nu wordt uitgevoerd, wordt de onderstaande uitvoer gegenereerd.

Hello
__name__ value:  python_main_function
Done

Let op dat de eerste twee regels worden afgedrukt vanuit het bronbestand python_main_function.py. Merk op dat de waarde van __name__ anders is en daarom wordt de hoofdmethode niet uitgevoerd. Merk op dat Python-programmastatements regel voor regel worden uitgevoerd, dus het is belangrijk om de main() methode eerst te definiëren vóór de if-voorwaarde om de hoofdmethode uit te voeren. Anders krijg je een foutmelding als NameError: name 'main' is not defined. Dat is alles over de Python hoofdfunctie. Referentie: Python Docs

Source:
https://www.digitalocean.com/community/tutorials/python-main-function