Документация Python неофициальный перевод

29.4. __main__ – Среда сценария верхнего уровня__main__ – Top-level script environment


'__main__' – это имя области, в которой выполняется код верхнего уровня. Значение __name__ модуля устанавливается равным '__main__', когда он читается из стандартного ввода, скрипта или из интерактивного приглашения.

Модуль может определить, выполняется ли он в главной области, проверив свой собственный __name__, что позволяет использовать распространённый идиоматический приём для условного выполнения кода в модуле при запуске как скрипт или с помощью python -m, но не при импорте:

if __name__ == "__main__":
    # выполнять только при запуске как скрипт
    main()

Для пакета того же эффекта можно добиться, включив __main__.py модуль, содержимое которого будет выполнено при запуске модуля с помощью -m.