main - это имя области, в которой выполняется код верхнего уровня. Имя модуля устанавливается равным main при чтении из стандартного ввода, скрипта или интерактивного приглашения.
Модуль может определить, выполняется ли он в основной области видимости, проверив свое собственное __name__, что позволяет использовать общую идиому для условного выполнения кода в модуле, когда он выполняется как сценарий или скрипт с параметром python -m foo.py, но не при импорте import:
if__name__=="__main__":# выполнить только в том случае, # если выполняется как сценарийmain()
Для пакета тот же эффект может быть достигнут путем включения файла __main__.py, содержимое которого будет выполнено при запуске пакета с параметром -m.