Расскажу для чего мы пишем if __name__==’__main__’ и кому это может пригодиться.
Важные моменты:
1) любой код на питоне лежит в модуле (файл с расширением py)
2) любой модуль при запуске программы получает атрибут __name__
3) один(!) модуль, с которого программа началась (точка входа) получает имя __main__, все остальные (которые импортированы) получают имя, равное имени в файловой системе, без расширения. Например first
4) Крайне важное для понимания! Любой модуль при импорте выполняется, как если бы мы его запустили отдельно. То есть все принты будут напечатаны(если они не в функциях), любой вызов функции выполнен.
if __name__==’__main__’ означает “если этот модуль НЕ был импортирован, а запущен напрямую, то...“ и все действия в данном блоке НЕ будут выполнены при импорте модуля.
Для чего это нужно в том числе новичку:
- группировать все наши действия, имеющие эффект, потом их просто найти и менять
- отладка, тесты, ассерты, при импорте они не выполнятся
- специфичные настройки для запуска
Подчеркну, что блок мейн вовсе не обязателен, это просто возможность что-то выполнять в модуле скажем для отладки так, чтобы не получить ненужные эффекты при импорте, если мы забыли отладочные вещи убрать.
#Python #PythonRussian #PyCharm
1 view
5683
1889
2 months ago 00:11:45 8
Налог на скважину 2024 💦🤑 Нужно ли платить за воду?
2 months ago 00:29:23 1
Ручные гранаты. Правда и мифы. Опыт сапёра.
2 months ago 00:02:42 1
Dr. Gordon Neufeld on our upcoming Intensive I online course
2 months ago 00:05:46 1
Примыкание к стойке под оборудование - инструкция от инженера службы качества ТЕХНОНИКОЛЬ
2 months ago 03:32:51 1
Metamorphica - over 3 hrs - Psychedelic Ambient Chillout Downtempo Progressive Psydub Psybient in HD
2 months ago 00:10:50 1
Пакрафты: Зачем? Для кого? Как выбрать? Компактные надувные лодки
3 months ago 00:10:16 1
💚 Kawasaki ZX-14R (ZZR-1400) - Все Модели ГиперБайка 💪!
3 months ago 00:01:42 1
Гидромолоты HammerMaster на демонтаже никелевого завода
3 months ago 00:01:50 1
IAG RILA 8×8 IFV — Infantry Fighting Vehicle
3 months ago 00:01:01 1
Полицейского избил сын депутата ЗСК?
3 months ago 00:20:12 1
Конструктор МИГ29 создал самый легкий дельтаплан в мире. Взлет на игрушечном моторе.