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.
La fonction principale de 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 n’appelle aucune méthode si elle ne fait pas partie du code. Mais si elle fait directement partie du code, elle sera exécutée lorsque le fichier est importé en tant que module. C’est pourquoi il existe une technique spéciale pour définir la 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 exécutée lorsqu’il est importé en tant que module. Voyons comment définir la fonction principale de 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 variables implicites, dont une est
__name__
dont la valeur est définie comme__main__
. -
Pour la fonction principale 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
__name__
au nom du module, donc la condition if retournera false et la méthode principale ne sera pas exécutée. -
Python nous permet de choisir n’importe quel nom pour la méthode principale, cependant il est recommandé de la nommer comme méthode main(). Le code ci-dessous est parfaitement correct, mais pas recommandé.
def main1(): print("fonction principale python") if __name__ == '__main__': main1()
Voici l’image qui montre la sortie lorsque le fichier source python_main_function.py
est exécuté.
Fonction principale Python en tant que module
Maintenant, utilisons le fichier source Python ci-dessus comme 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 ci-dessous 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 principale 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 d’abord la méthode main() avant la condition if pour exécuter la méthode principale. Sinon, vous obtiendrez une erreur comme NameError: name 'main' is not defined
. Voilà tout sur la fonction principale Python. Référence: Documentation Python
Source:
https://www.digitalocean.com/community/tutorials/python-main-function