Maison > développement back-end > Tutoriel Python > Que fait `if __name__ == '__main__':` en Python ?

Que fait `if __name__ == '__main__':` en Python ?

Mary-Kate Olsen
Libérer: 2024-12-27 08:41:10
original
146 Les gens l'ont consulté

What Does `if __name__ ==

Que fait 'if name == "__main__":' ?

Lors de l'exécution d'un script Python en tant que programme principal, il attribue une chaîne codée en dur "__main__" à la variable name. Si le script est importé par un autre module, nom est attribué au nom utilisé pour l'import ; par exemple, si un autre script importe foo.py en tant qu'import foo, alors la variable name dans foo.py devient "foo".

En vérifiant si name est égal à "__main__", il garantit que le code contenu dans le garde n'est exécuté que lorsque le script est exécuté directement, et non lorsqu'il est importé en tant que fichier. module.

Pourquoi est-ce nécessaire ?

L'inclusion de l'instruction if __name__ == "__main__": offre plusieurs avantages :

  1. Prévention des exécutions indésirables : Si le script est importé par un autre module, le code contenu dans la garde ne sera pas exécuté, empêchant ainsi l'exécution accidentelle de code.
  2. Comportement différent pour différents contextes : Il permet une exécution de code différente en fonction du contexte (exécuté en tant que programme principal ou en tant que module). Par exemple, certaines fonctions peuvent être exécutées uniquement lorsque le script est exécuté directement, ou vous pouvez effectuer des routines d'initialisation ou de configuration uniquement lorsque le script est exécuté en tant que programme principal.
  3. Protection contre la spécification arguments : Lors de l'importation d'un script en tant que module, il est possible que le script importé ait son propre code d'analyse des arguments de ligne de commande. La protection if __name__ == "__main__": empêche le script importé de s'exécuter de manière inattendue avec les arguments de ligne de commande du script d'importation.

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:php.cn
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal