← Все вопросы
Что значит if __name__ == '__main__'?
18
Везде в чужом коде вижу в конце:
if __name__ == '__main__':
main()
Что это и обязательно ли так писать?
2 ответа
20
✓ Принятый ответ — помог автору
Когда файл запускают напрямую, Python ставит __name__ == '__main__'. Когда этот же файл импортируют как модуль — там __name__ равен имени модуля.
Проверка значит «выполни это только при прямом запуске, а не при импорте». Удобно: функции можно переиспользовать в другом коде, и main() не запустится сам собой.
Для маленьких скриптов не обязательно. Для модулей-библиотек — хороший тон.
Ivan Ivanov наконец понял зачем это, спасибо · 5 месяцев назад
7
Короче: «не запускай демо-код, если меня просто импортировали».
Ваш ответ
Войдите, чтобы ответить на вопрос.