> **Источник:** https://python-all.ru/3.7/library/__main__.html
>
> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.

---

# [`__main__`](https://python-all.ru/3.7/library/__main__.html#module-__main__) – Среда скрипта верхнего уровня

---

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

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

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

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