29.4. __main__ — Point d’entrée des scripts


'__main__' est le nom du scope dans lequel le code s’exécute en premier. Le nom d’un module (son __name__) vaut '__main__' lorsqu’il est lu de l’entrée standard, lorsque c’est un script, ou une invite interactive.

Un module peut découvrir s’il est exécuté dans le scope principal en vérifiant son __name__, ce qui permet typiquement d’exécuter du code lorsque le module est exécuté avec python -m mais pas lorsqu’il est importé :

if __name__ == "__main__":
    # execute only if run as a script
    main()

Pour un paquet, le même effet peut être obtenu en utilisant un module __main__.py, son contenu sera exécuté si le paquet est lancé via -m.