Перейдите к следующему слайду, нажав кнопку Вправо
Зачем нужна эта конструкция в Python
Подготовлено онлайн-курсом
Вывод №1:
Код внутри if __name__ == '__main__' исполняется, как обычно.
$ python3 hello_if.py
Привет!
$$ python3 hello.py
Привет!
$if __name__ == '__main__':
print('Привет!')print('Привет!')файл hello_if.py
файл hello.py
Запустим файлы:
Сравним два файла с кодом:
Вывод №2:
Код внутри if __name__ == '__main__': не исполняется при импорте файла.
Поэтому весь код, который не является объявлением функций и констант, принято заносить внутрь if __name__ == '__main__'.
$ python3 import_hello_if.py
$$ python3 import_hello.py
Привет!
$import hello_ifimport helloЗапустим:
Импортируем файлы с кодом:
файл import_hello_if.py
файл import_hello.py
Защита от неожиданного запуска кода:
def do_the_work():
....
if __name__ == '__main__':
# здесь находится код, который
# исполнится только при запуске
# скрипта напрямую
print('hello world')
do_the_work()Спрячьте все вызовы `print` внутрь ifmain, либо упакуйте их в функции, которые вызываются кодом внутри ifmain.
Создано для онлайн-курса https://dvmn.org