Maison > développement back-end > Tutoriel Python > Que fait if __name__ =&#__main__&# en Python ?

Que fait if __name__ =&#__main__&# en Python ?

PHPz
Libérer: 2024-07-29 07:00:03
original
543 Les gens l'ont consulté

What does if __name__ =

Vous avez peut-être vu cette ligne de code if __name__=="__main__": beaucoup dans les scripts Python, sans savoir quel est son véritable objectif. Ne vous inquiétez pas car dans ce court blog, nous en discuterons

Lorsque vous exécutez directement un programme ou un script, Python attribue automatiquement "main" à la variable spéciale name. Ceci est essentiellement fait pour indiquer que le fichier est le script "principal" ici et qu'il est exécuté directement au lieu d'être importé dans un autre.

Pour comprendre cela, créez un nouveau script Python, disons, nommez-le "example.py" et écrivez :

print("Name of Script: ", __name__)
Copier après la connexion

Exécutez ceci et vous verrez le résultat Nom du script : __main__. C'est simplement parce que le fichier est exécuté directement.

Maintenant, créez un autre fichier de script Python et importez le example.py dans ce fichier. Exécutez-le et vous verrez un résultat différent disant Nom du script : exemple. C'est simplement parce que maintenant, au lieu de l'exécuter directement, nous importons le script et l'exécutons indirectement. Ainsi, Python affiche maintenant le nom réel du fichier.

Apportons quelques modifications à notre fichier exemple, afin de pouvoir encore mieux le comprendre.

def s_name():
    print("Name of Script: ", __name__)

s_name()

def greet():
    print("Hello! How are you doing?")

if __name__=="__main__":
    greet()

Copier après la connexion

Maintenant, si vous exécutez ceci directement, tout sera parfaitement exécuté, mais si vous exécutez l'autre fichier dans lequel vous importez le script example.py, vous remarquerez que l'appel de la fonction greet n'a pas été exécuté. Pourquoi ?

C'est à cause du conditionnel if. Le conditionnel vérifie si le fichier est exécuté directement ou non. S'il est exécuté directement, main sera attribué à la variable spéciale name qui rendra cette condition vraie et tout ce qui se trouve à l'intérieur de la condition fonctionnera comme d'habitude.

Mais d'un autre côté, si vous l'importez sur un autre fichier et que vous l'exécutez indirectement à partir de là, alors l'instruction de condition ne sera pas vraie et tout ce qui a été placé à l'intérieur du conditionnel ne sera pas exécuté.

C'est la signification de cette déclaration conditionnelle. Cela empêche l'interpréteur Python d'exécuter automatiquement des lignes de code inutiles lorsque nous importons un script en tant que module.

Cependant, nous pouvons appeler ces fonctions même lorsque nous importons un script en tant que module. Par exemple :

import example

example.greet()
Copier après la connexion

De cette façon, nous pouvons parfaitement appeler n'importe quelle fonction du module importé même lorsque la condition n'est pas satisfaite.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal