Maison >développement back-end >Tutoriel Python >Que fait l'instruction `if __name__ == '__main__':` de Python ?
La garde __name__ est un idiome Python courant qui protège les utilisateurs d'invoquer accidentellement un script alors qu'ils n'en avaient pas l'intention. L'omission de cette garde peut entraîner un comportement inattendu si vous importez le script dans un autre script ou si vous le sérialisez en tant que cornichon.
Lorsque l'interprète lit un fichier source, il fait deux choses :
Si vous exécutez votre module en tant que programme principal, __name__ est défini sur "__main__". Sinon, lorsque vous importez le module, __name__ est défini sur le nom du module.
La garde __name__ fonctionne comme suit :
Si __name__ == '__main__' (main programme):
Si __name__ != '__main__' (module importé) :
Examinons le code suivant :
print("before import") import math print("before function_a") def function_a(): print("Function A") print("before function_b") def function_b(): print("Function B {}".format(math.sqrt(100))) print("before __name__ guard") if __name__ == '__main__': function_a() function_b() print("after __name__ guard")
Cet idiome vous permet d'écrire des fichiers .py qui peuvent être utilisés à la fois comme modules indépendants et comme scripts exécutés en tant que programme principal. Quelques exemples de son utilité :
Pour résumer, le if __name__ == La protection '__main__' peut être omise mais est recommandée pour sa polyvalence, sa protection contre les erreurs et pour éviter tout comportement inattendu lors de l'importation ou de la sérialisation du code.
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!