Environnement de script de haut niveau principal
Qu’est-ce que c’est
__main__ est le nom de la portée dans laquelle le code de haut niveau s’exécute. Le nom d’un module est défini égal à __main__ lorsqu’il est lu depuis l’entrée standard, un script ou une invite interactive.
Un module peut découvrir s’il s’exécute dans la portée principale en vérifiant son propre __name__, ce qui permet une idiome courante pour exécuter conditionnellement du code dans un module. Lorsqu’il est exécuté comme un script ou avec python -m mais pas lorsqu’il est importé :
# __name__ == "__main__": vérifier si le script est exécuté directement (non importé)
if __name__ == "__main__": # Vrai lors de l'exécution comme script, Faux lors de l'importation
# exécuter uniquement si exécuté comme script
main()
Pour un paquet, le même effet peut être obtenu en incluant un module main.py, dont le contenu sera exécuté lorsque le module est exécuté avec -m.
Par exemple, si nous développons un script conçu pour être utilisé comme module, nous devrions faire :
# Exemple : la fonction peut être importée, mais le code de test ne s'exécute que lorsqu'il est exécuté directement
def add(a, b):
return a+b
if __name__ == "__main__": # Ne s'exécute que lorsque le fichier est exécuté, pas lorsqu'il est importé
add(3, 5)
Connectez-vous pour répondre à ce quiz et suivre votre progression d'apprentissage
__name__ lorsqu'un fichier Python est exécuté directement comme un script ?"**main**"NoneTrueAvantages
- Chaque module Python a son
__name__défini et si celui-ci est__main__, cela implique que le module est exécuté de manière autonome par l’utilisateur, et nous pouvons effectuer les actions appropriées correspondantes. - Si vous importez ce script comme module dans un autre script, le nom est défini sur le nom du script/module.
- Les fichiers Python peuvent agir soit comme des modules réutilisables, soit comme des programmes autonomes.
if __name__ == "__main__":est utilisé pour exécuter du code uniquement si le fichier est exécuté directement et n’est pas importé.
Connectez-vous pour répondre à ce quiz et suivre votre progression d'apprentissage
if __name__ == "__main__": ?