Fonction principale de Python & Exemple de méthode: comprendre __main

Table des matières:

Anonim

Qu'est-ce que la fonction principale de Python?

La fonction principale de Python est le point de départ de tout programme. Lorsque le programme est exécuté, l'interpréteur python exécute le code de manière séquentielle. La fonction principale est exécutée uniquement lorsqu'elle est exécutée en tant que programme Python. Il n'exécutera pas la fonction principale si elle est importée en tant que module.

Quelle est la fonction def main () en Python? Pour comprendre cela, considérez l'exemple de code suivant

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

Ici, nous avons deux éléments d'impression - l'un est défini dans la fonction principale qui est "Hello World" et l'autre est indépendant, qui est "Guru99". Lorsque vous exécutez la fonction def main ():

  • Seul "Guru99" s'imprime
  • et pas le code "Hello World".

C'est parce que nous n'avons pas déclaré la fonction d' appel "if__name __ ==" __main__ ".

Il est important qu'après avoir défini la fonction principale, vous appeliez le code par if__name __ == "__main__" puis exécutez le code, alors seulement vous obtiendrez le résultat "hello world!" dans la console de programmation. Considérez le code suivant

def main():print("hello world!")if __name__ == "__main__":main()print("Guru99")

Guru99 est imprimé dans ce cas.

Voici l'explication,

  • Lorsque l'interpréteur Python lit un fichier source, il exécutera tout le code qui s'y trouve.
  • Lorsque Python exécute le "fichier source" comme programme principal, il définit la variable spéciale (__name__) pour qu'elle ait une valeur ("__main__").
  • Lorsque vous exécutez la fonction main en python, il lit alors l'instruction "if" et vérifie si __name__ est égal à __main__.
  • En Python, "if__name __ ==" __main__ " vous permet d'exécuter les fichiers Python sous forme de modules réutilisables ou de programmes autonomes.

La variable __name__ et le module Python

Pour comprendre l'importance de la variable __name__ dans la méthode de la fonction principale Python, considérez le code suivant:

def main():print("hello world!")if __name__ == "__main__":main()print("Guru99")print("Value in built variable name is: ",__name__)

Considérez maintenant, le code est importé en tant que module

import MainFunctionprint("done")

Voici l'explication du code:

Comme C, Python utilise == pour la comparaison tandis que = pour l'affectation. L'interpréteur Python utilise la fonction main de deux manières

exécution directe:

  • __name __ = __ main__
  • if statement == True, et le script dans _main_ sera exécuté

importer en tant que module

  • __name __ = nom de fichier du module
  • if statement == false, et le script de __main__ ne sera pas exécuté

Lorsque le code est exécuté, il vérifiera le nom du module avec "si". Ce mécanisme garantit que la fonction principale est exécutée uniquement en exécution directe et non lorsqu'elle est importée en tant que module.

Les exemples ci-dessus sont des codes Python 3, si vous souhaitez utiliser Python 2, veuillez considérer le code suivant

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

Dans Python 3, vous n'avez pas besoin d'utiliser if__name. Le code suivant fonctionne également

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

Remarque: assurez-vous qu'après avoir défini la fonction main, vous laissez un retrait et ne déclarez pas le code juste en dessous de def main (): function sinon, cela donnera une erreur d'indentation.