29.4. __main__ – Окружение скрипта верхнего уровня¶__main__ – Top-level script environment
Именем '__main__' обозначается область видимости, в которой выполняется код верхнего уровня. Значение '__main__' присваивается атрибуту __name__ модуля, когда он считывается со стандартного ввода, из скрипта или интерактивной строки.
Модуль может определить, выполняется ли он в основной области видимости, проверив свой атрибут __name__. Это позволяет реализовать распространённую идиому условного выполнения кода в модуле, когда он запускается как скрипт или с помощью python -m, но не при его импорте:
if __name__ == "__main__":
# выполнять только при запуске как скрипт
main()
Для пакета того же эффекта можно добиться, включив модуль __main__.py, содержимое которого будет выполнено, когда пакет запускается с помощью -m.