Vous avez peut-être vu cette ligne de code if __name__=="__main__": beaucoup dans les scripts Python, sans savoir quel est son objectif réel. 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 nom. 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__)
Exécutez ceci et vous verrez le nom de sortie 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 d'exemple, afin que nous puissions 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()
Maintenant, si vous exécutez ceci directement, tout serait 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 d'accueil n'a pas été exécuté. Pourquoi donc?
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 qu'elle contient s'exécutera comme d'habitude.
Mais d'un autre côté, si vous l'importez sur un autre fichier et 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 instruction 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()
De cette façon, nous pouvons parfaitement appeler n'importe quelle fonction du module importé même lorsque la condition n'est pas satisfaite.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3