Que fait if __name__ == "__main__": faire ? Pourquoi inclure une instruction if ?
Ce code vérifie si le module est exécuté en tant que programme principal (au lieu d'être importé en tant que module). S'il est exécuté en tant que programme principal, il exécute le code dans l'instruction if.
Pourquoi inclure cette instruction ?
-
Protège contre l'exécution involontaire de script :
- Sans cette vérification, l'importation d'un script (par exemple, import my_script) exécuterait par inadvertance le code du script même si vous souhaitiez uniquement importer ses fonctions/classes. Cela pourrait entraîner des conflits ou un comportement inattendu.
-
Empêche les problèmes de décapage :
- Décapage d'une classe définie dans un script déclencherait l'exécution du script et importerait le script dans l'environnement de décapage. Cela peut entraîner des problèmes avec les arguments de ligne de commande et d'autres dépendances spécifiques au script.
Comment ça marche ?
-
__name__ : Lorsque Python exécute un script, il définit la variable name sur "__main__."
-
Importation d'un module : Lorsque vous importez un module non principal, Python attribuera le nom du module à son __name__.
Exemple :
if __name__ == "__main__":
print("This code will run when the script is executed.")
# This code will not run when the script is imported.
print("This code will only run when the script is imported.")
Copier après la connexion
Cela garantit que le premier bloc de code ne s'exécute que lorsque le script est exécuté directement (par exemple, python my_script.py), tandis que le deuxième bloc de code ne s'exécute que lorsque le script est importé dans un autre script (par exemple, import my_script).
Considérations avancées :
-
Plusieurs nom gardes : Ce n'est généralement pas le cas Il est recommandé d'avoir plusieurs vérifications nom dans un seul fichier, car cela pourrait entraîner un comportement inattendu.
-
Valeurs nom personnalisées : Vous pouvez définir nom manuellement en dehors de l'instruction if pour tester différents scénarios d'exécution ou fournir plus de contrôle sur l'exécution du script.
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!