Назад к вопросам
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