logo

Fonction principale de Python

La fonction principale est comme le point d’entrée d’un programme. Cependant, l’interpréteur Python exécute le code dès la première ligne. L'exécution du code commence à partir de la ligne de départ et se déroule ligne par ligne. Peu importe où la fonction principale est présente ou si elle est présente ou non.

Puisqu'il n'y a pasmain()>fonction en Python, lorsque la commande pour exécuter un programme Python est donnée à l'interpréteur, le code qui est au niveau d'indentation 0 doit être exécuté. Cependant, avant de faire cela, il définira quelques variables spéciales.__name__>est l’une de ces variables spéciales. Si le fichier source est exécuté comme programme principal, l'interpréteur définit le__name__>variable pour avoir une valeur__main__>. Si ce fichier est importé depuis un autre module,__name__>sera défini sur le nom du module.
__name__>est une variable intégrée qui correspond au nom du module actuel.

Exemple:






# Python program to demonstrate> # main() function> > > print>(>'Hello'>)> > # Defining main function> def> main():> >print>(>'hey there'>)> > > # Using the special variable> # __name__> if> __name__>=>=>'__main__'>:> >main()>

>

>

Sortir:

 Hello hey there>

Lorsque le programme ci-dessus est exécuté, l'interpréteur déclare la valeur initiale de name comme principale. Lorsque l'interpréteur atteint l'instruction if, il vérifie la valeur de name et lorsque la valeur de if est vraie, il exécute la fonction principale, sinon la fonction principale n'est pas exécutée.

Fonction principale en tant que module

Désormais, lorsque nous importons un script Python en tant que module, le__name__>La variable obtient la même valeur que le nom du script Python importé.

Exemple: Considérons qu'il existe deux fichiers (File1.py et File2.py). Le fichier 1 est le suivant.




# File1.py> > print>(>'File1 __name__ = %s'> %>__name__)> > if> __name__>=>=> '__main__'>:> >print>(>'File1 is being run directly'>)> else>:> >print>(>'File1 is being imported'>)>

>

>

Sortir:

 File1 __name__ = __main__ File1 is being run directly>

Désormais, lorsque File1.py est importé dans File2.py, la valeur de __name__ change.

convertir un booléen en chaîne




# File2.py> > import> File1> > print>(>'File2 __name__ = %s'> %>__name__)> > if> __name__>=>=> '__main__'>:> >print>(>'File2 is being run directly'>)> else>:> >print>(>'File2 is being imported'>)>

>

>

Sortir:

 File1 __name__ = File1 File1 is being imported File2 __name__ = __main__ File2 is being run directly>

Comme vu ci-dessus, lorsque File1.py est exécuté directement, l'interpréteur définit le__name__>variable comme__main__>et lorsqu'elle est exécutée via File2.py par importation, la variable __name__ est définie comme le nom du script python, c'est-à-dire File1. Ainsi, on peut dire que if __name__ == __main__ est la partie du programme qui s'exécute lorsque le script est exécuté à partir de la ligne de commande à l'aide d'une commande comme Python File1.py.