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

---

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

---

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

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

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

For a package, the same effect can be achieved by including a `__main__.py` module, the contents of which will be executed when the module is run with `-m`.
