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