Назад к вопросам
Junior
78
questionbank

Существует ли в Python функция main()?

Sobes Copilot

Получайте ответы в реальном времени

Ответ от нейросети

sobes.tech AI

В Python нет встроенной функции main(), как, например, в C++ или Java. Однако, общепринятой практикой является использование конструкции if __name__ == "__main__": для определения точки входа в программу.

Когда скрипт запускается напрямую, специальная переменная __name__ принимает значение "__main__". Если же скрипт импортируется как модуль в другой скрипт, __name__ будет равно имени модуля.

Это позволяет выполнять определенный код только при прямом запуске скрипта, например, запускать основные функции программы, парсить аргументы командной строки и т.д.

# my_module.py

def some_function():
    print("Выполнена some_function")

if __name__ == "__main__":
    # Этот код выполнится только при запуске my_module.py напрямую
    print("Запуск скрипта напрямую")
    some_function()

# script.py

import my_module

print("Импорт my_module")
# Этот код выполнится при запуске script.py
# При импорте, блок if __name__ == "__main__": в my_module.py не выполняется
my_module.some_function()

При запуске my_module.py будет выведено:

Запуск скрипта напрямую
Выполнена some_function

При запуске script.py будет выведено:

Импорт my_module
Выполнена some_function