# 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`.