Перейдите к следующему слайду, нажав кнопку Вправо
Зачем нужна эта конструкция в 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_if
import 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