Recherche de site Web

Fonction principale Python


La fonction principale de Python est exécutée uniquement lorsqu'elle est exécutée en tant que programme python. Comme vous le savez, nous pouvons également importer un programme python en tant que module, dans ce cas, la méthode principale de python ne doit pas être exécutée.

Fonction principale Python

La fonction principale est le point d'entrée de tout programme. Mais l'interpréteur Python exécute le code du fichier source séquentiellement et ne rappelle aucune méthode si elle ne fait pas partie du code. Cependant, si elle fait directement partie du code, elle sera exécutée lorsque le fichier sera importé en tant que module. C'est pourquoi il existe une technique spéciale pour définir une méthode principale dans un programme Python, afin qu'elle ne soit exécutée que lorsque le programme est exécuté directement et non lorsqu'il est importé en tant que module. Voyons comment définir une fonction principale en Python dans un programme simple. python_main_function.py

print("Hello")

print("__name__ value: ", __name__)


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


if __name__ == '__main__':
    main()
  • Lorsqu'un programme Python est exécuté, l'interpréteur Python commence à exécuter le code à l'intérieur. Il définit également quelques valeurs de variables implicites, l'une d'elles étant __name__ dont la valeur est définie comme __main__.

  • Pour la fonction principale en python, nous devons définir une fonction, puis utiliser la condition if __name__ == '__main__' pour exécuter cette fonction.

  • Si le fichier source Python est importé en tant que module, l'interpréteur Python définit la valeur de __name__ sur le nom du module, donc la condition if renverra faux et la méthode principale ne sera pas exécutée.

  • Python nous offre la flexibilité de donner n'importe quel nom à la méthode principale, mais il est préférable de l'appeler méthode main(). Le code ci-dessous est parfaitement acceptable, mais pas recommandé.

    def main1():
        print("python main function")
    
    
    if __name__ == '__main__':
        main1()
    

L'image ci-dessous montre le résultat lorsque python_main_function.py est exécuté en tant que fichier source.

Fonction principale Python en tant que module

Maintenant, utilisons le fichier source Python ci-dessus comme un module et importons-le dans un autre programme. python_import.py

import python_main_function

print("Done")

Maintenant, lorsque le programme ci-dessus est exécuté, la sortie suivante est produite.

Hello
__name__ value:  python_main_function
Done

Remarquez que les deux premières lignes sont imprimées à partir du fichier source python_main_function.py. Remarquez que la valeur de __name__ est différente et donc la méthode main n'est pas exécutée. Remarquez que les instructions du programme python sont exécutées ligne par ligne, il est donc important de définir la méthode main() d'abord avant la condition if pour exécuter la méthode main. Sinon, vous obtiendrez une erreur comme NameError: name 'main' is not defined. Voilà tout ce qu'il y a à savoir sur la fonction principale en python. Référence : Documentation Python.