Конструкция __MAIN__ для чего и кому нужна.

  Рет қаралды 11,230

Python Russian

Python Russian

3 жыл бұрын

Расскажу для чего мы пишем if __name__=='__main__' и кому это может пригодиться.
Важные моменты:
1) любой код на питоне лежит в модуле (файл с расширением py)
2) любой модуль при запуске программы получает атрибут _name_
3) один(!) модуль, с которого программа началась (точка входа) получает имя __main__, все остальные (которые импортированы) получают имя, равное имени в файловой системе, без расширения. Например first
4) Крайне важное для понимания! Любой модуль при импорте выполняется, как если бы мы его запустили отдельно. То есть все принты будут напечатаны(если они не в функциях), любой вызов функции выполнен.
if __name__=='__main__' означает "если этот модуль НЕ был импортирован, а запущен напрямую, то..." и все действия в данном блоке НЕ будут выполнены при импорте модуля.
Для чего это нужно в том числе новичку:
- группировать все наши действия, имеющие эффект, потом их просто найти и менять
- отладка, тесты, ассерты, при импорте они не выполнятся
- специфичные настройки для запуска
Подчеркну, что блок мейн вовсе не обязателен, это просто возможность что-то выполнять в модуле скажем для отладки так, чтобы не получить ненужные эффекты при импорте, если мы забыли отладочные вещи убрать.
Присоединяйся к помощи каналу, будет интересно)
✔️Бусти boosty.to/python_russian/donate
✔️Юмани 410011506612886
Будь первым везде и всегда, включай уведомления о новых выпусках 🔔
#Python #PythonRussian #PyCharm

Пікірлер: 105
@uf4412
@uf4412 Жыл бұрын
Феноменально превосходное объяснение для чего необходима эта конструкция! Ни на курсах, ни по роликам до этого никто не смог объяснить. Бриллиант!
@Flomasterok
@Flomasterok 3 жыл бұрын
Спасибо! пересмотрел с пяток видео про __main__ и только с твоего видео стало понятно что это такое и как оно работает и для чего оно нужно!
@PythonRussian
@PythonRussian 3 жыл бұрын
рад, что помог, для того и записывал
@dedkudim
@dedkudim Жыл бұрын
Аналогичная ситуация! Большое спасибо за объяснение!!!
@Cosmofen2013
@Cosmofen2013 Жыл бұрын
Благодаря таким комментам, я понимаю что не один так туплю) а благодаря автору этого замечательного видео, мы начинаем меньше тупить и больше соображать) класс 👍
@antonk4475
@antonk4475 Жыл бұрын
Аналогично, коллега!
@rollangrant8347
@rollangrant8347 Жыл бұрын
Не перестаю удивляться тобой, и твоим логическим ходом понятным для меня новичку в питоне объяснением!!!!!!!!!!!! Спасибо тебе огромное!!!
@lunol2885
@lunol2885 Жыл бұрын
Вы тот учитель, о котором я мечтала в школе и университете! Это действительно талант. Заметила, что на ваших роликах у меня мозг оживает, а не пытается впасть в спячку. Абсолютно нет ощущения, что информация воспринимается через сопротивление. Наоборот, все так логично и понятно, что хочется копать глубже. Вы ангел, спасибо за ваш труд!
@PythonRussian
@PythonRussian Жыл бұрын
спасибо за добрые слова
@ArtasMenethil
@ArtasMenethil Жыл бұрын
Согласен с комментаторами. Первое видео, где услышал и увидел внятное, подробное, даже слишком, объяснение __main__. Теперь понятно, почему из доп модулей нужно импортировать конкретные классы и функции. Либо в каждом модуле нужно прописывать if __name__ == __main__.
@user-vj1io4sq6r
@user-vj1io4sq6r 9 күн бұрын
Автору обязательно надо продолжать выкладывать видео по другим темам. Феноменально простое объяснение.Реально только на этом видео и понял для чего это конструкция !
@GorArakelyan-no7mx
@GorArakelyan-no7mx Жыл бұрын
Лучшее объяснение из всех, что я видел. Спасибо
@user-to9qz4ks4j
@user-to9qz4ks4j Жыл бұрын
Прямо магия python :) Спасибо, очень доходчиво!
@andreikobelev8217
@andreikobelev8217 Жыл бұрын
Блин ты реально красавчик!! спасибо большое! До такой степени доходчиво объяснил! пересмотрел кучу видосов - одна вода, твой видос - 0 воды!
@user-pw5mk5cd8g
@user-pw5mk5cd8g Жыл бұрын
Спасибо огромное, пересмотрел много других видео на эту тему и только Ваше разложило все по полочкам. Еще раз, СПАСИБО ВАМ ОГРОМНОЕ !
@sergeipups1835
@sergeipups1835 Жыл бұрын
Спасибо большое автору за простое и качественное объяснение этой темы! Без спешки, акцентирование внимания на ключевых моментах и подытог в конце видео - все это позволило мне понять эту конструкцию. До этого 2 дня смотрел объяснения других авторов, читал статьи на эту тему - вроде, понятно и не понятно. Другому человеку бы не смог объяснить эту тему, значит не понял. А тут такое классное объяснение! А еще параллельно повторял за автором. Еще раз спасибо большое!)
@F_C_T_L
@F_C_T_L Жыл бұрын
Лучшее видео об этой теме, не по 3 минуты, а 15, зато всё понятно.
@voila2000
@voila2000 3 жыл бұрын
Кроме великолепной подачи материала, Ваши уроки выделяются еще и уважением к своим слушателям, новичкам в Питоне. Особенно на фоне многих других авторов роликов типа "язык ## для маленьких и тупых" с спутанными мыслями, невнятной речью и чрезмерным ЧСВ
@PythonRussian
@PythonRussian 3 жыл бұрын
спасибо. Ну канал для новичков и создан, все мы в какой то момент ими были, так почему бы их не уважать?))
@Laserball74
@Laserball74 Жыл бұрын
Ну наконец то нашёл понятное объяснение!👌 Спасибо большое автору!лайкнул и подписался!
@andrewmishkov9279
@andrewmishkov9279 Жыл бұрын
Спасибо, вы очень доходчиво обьясняете. Повезло вашим коллегам по работе.
@nohtyp_gniyduts838
@nohtyp_gniyduts838 Жыл бұрын
Отлично. Как жаль, что я так поздно нашел ваш канал. Реальные объяснения от практика с реальными практическими примерами.
@13_chasov_nochi
@13_chasov_nochi Жыл бұрын
Спасибо вам огромное. У вас самое понятное и подробное объяснение этой конструкции
@ipikoy3257
@ipikoy3257 Жыл бұрын
Спасибо за объяснение!!! Очень доходчиво был рассказан этот материал.
@Ivan-lz9fn
@Ivan-lz9fn 2 жыл бұрын
Спасибо большое за разбор! Проще на ютубе не нашёл.
@PythonRussian
@PythonRussian 2 жыл бұрын
благодарю за отзыв! буду и дальше стараться
@moumoumoumou8199
@moumoumoumou8199 Жыл бұрын
Прекрасная подача материала. Не всем дано умение передавать свои знания , где конечным результатом будет освоение полученной информации и применение на практике с абсолютным пониманием. По ходу разобралась с fonction def. Начала пересмотр всех ваших видео. Спасибо за проделанную работу .
@fudth1151
@fudth1151 3 жыл бұрын
Можно часами слушать как Walemir1 рассказывает о магических атрибутах модуля!
@PythonRussian
@PythonRussian 3 жыл бұрын
там всего 15 минут)))
@gsx
@gsx Жыл бұрын
@@PythonRussian *4 вот и час) Эти видео правда можно слушать часами, тем более по Пайтон для новичка я правда по несколько раз прослушиваю - приятная речь, интересное и понятное содержание, да ещё и без "эээээээ", я одно видео по Блендеру смотрел, так там если все "ээээээээээ" вырезать тайминг раза в два с половиной короче бы стал, и это правда тяжело слушать
@Insidepointg
@Insidepointg Жыл бұрын
Мужик, спасибо тебе! Я на курсах хекслета не мог понять, 20 раз перечитал теорию, твое объяснение и сразу все встало на свои места! Респект
@user-gp9xv8nt4c
@user-gp9xv8nt4c Жыл бұрын
Лучшее объяснение котороя я когда либо встречал, просто топ )
@dlameros
@dlameros Жыл бұрын
благодарствую, ваш ход подачи мысли хоть и чуть дольше, но доходчивее в сравнеие с другими видеоматириалами
@vasiakurok7287
@vasiakurok7287 2 жыл бұрын
Спасибо за чёткое объяснение!
@kazybekkydyrbai8632
@kazybekkydyrbai8632 Жыл бұрын
Спасибо! Только понял зачем нужен if __name__=="__main__". 4 видео уже просмотрел и ни в одном не мог чётко понять что это. Очень хорошо объясняете!
@andreytyrin6376
@andreytyrin6376 2 жыл бұрын
замечательное объяснение, спасибо!
@Empty_line
@Empty_line 2 жыл бұрын
Объясни пожалуйста простими словами
@tonystark2031
@tonystark2031 Жыл бұрын
Автору, грамоту, премию или всё ,что захочет. Лишь бы продолжал. Действительно первое понятное объяснение! 👍
@PythonRussian
@PythonRussian Жыл бұрын
мне и ордена не надо -я согласен на медаль! =)
@straxd
@straxd Жыл бұрын
Наконец-то наткнулся на доходчивое объяснение, спасибо!
@Petr_Pavlov
@Petr_Pavlov Жыл бұрын
огромное спасибо Мужик! отменный контент, без воды и по делу
@fimasmf4444
@fimasmf4444 Жыл бұрын
Благодарю! Пожалуй самое понятное объяснение из всего многообразия.
@user-un2mc2ll4y
@user-un2mc2ll4y Жыл бұрын
Хорошее видео. Только с него понял. Для понимания не хватало простого пояснения концепции про имена, которые присваиваются модулям в зависимости от того первичные они или импортированные.
@loness2150
@loness2150 Ай бұрын
Лучшее видео по теме if __name__=='__main__'
@user-xr5kh1zc1k
@user-xr5kh1zc1k 2 жыл бұрын
Очень хорошо объяснил 👍
@zelzyk
@zelzyk Жыл бұрын
Спасибо огромное !!!! Это максимально простое и понятное объяснение на просторе ютуба
@user-di3xd7tq8g
@user-di3xd7tq8g Жыл бұрын
Единственное видео где понятно зачем это надо
@locky1827
@locky1827 5 ай бұрын
Отлично объяснил. Спасибо!
@gray6207
@gray6207 3 жыл бұрын
Чётко и по делу, без лишней воды
@The_Establishment
@The_Establishment 11 ай бұрын
Пересмотрел кучу видео ничего не понимал, автор на 14:42 объяснил всю суть )) "НЕ ВЫПОЛНЯЙ ТО ЧТО НИЖЕ ЕСЛИ МЫ ИМПОРТИРУЕМ ЭТОТ МОДУЛЬ" ))) Спасибо))
@user-bl5uu9xi9b
@user-bl5uu9xi9b Жыл бұрын
Спасибо огромное за понятное и доходчивое объясние!
@erhundvimmbseowde2918
@erhundvimmbseowde2918 5 ай бұрын
Шишкарно объяснил.
@user-do4nq3fr6t
@user-do4nq3fr6t 3 жыл бұрын
теперь эти строки читаюся по другому =) это я ощутил сразу, прям удовлетворение какое то получил
@user-do4nq3fr6t
@user-do4nq3fr6t 3 жыл бұрын
спасибо большое за отзывчивость! прояснилось то что не понимал, а именно Когда интерпретатор Python читает исходный файл, он исполняет весь найденный в нем код. Перед тем, как начать выполнять команды, он определяет несколько специальных переменных. Например, если интерпретатор запускает некоторый модуль (исходный файл) как основную программу, он присваивает специальной переменной __name__ значение "__main__". Если этот файл импортируется из другого модуля, переменной __name__ будет присвоено имя этого модуля.
@geojan
@geojan 10 ай бұрын
Большое спасибо за видео!
@discord4364
@discord4364 Жыл бұрын
Лайкос однозначно, но можно голос чуток погромче сделать :)
@themarineussr2011
@themarineussr2011 11 ай бұрын
просто гениальное объяснение!!!!
@user-pl3qd8pk6w
@user-pl3qd8pk6w 2 жыл бұрын
Спасибо за видео
@user-ms3dw2qx3s
@user-ms3dw2qx3s 5 ай бұрын
Самое лучшее объяснение и не объяснимо мало просмотров
@IGalina999
@IGalina999 Жыл бұрын
Спасибо, так объяснили что все понятно👌
@kuznetsov_cars
@kuznetsov_cars Жыл бұрын
You make good explanations! Thank you!
@cegthgtlhj
@cegthgtlhj 10 ай бұрын
я - новый присоединившийся. Питонист пока только в душе ))))) Дорогой автор. Великолепная подача. Практически получил оргазм от изложения, содержания и проч. Начинаю активно просматривать остальные видео на канале и присоединяюсь к ТЛГ-каналу. Пожалуйста не останавливайся и продолжай делиться знанием или безкорыстно или корыстно но умеренно )))) Спасибо
@PythonRussian
@PythonRussian 10 ай бұрын
спасибо, не забывайте что мои видео только довесок и мотив к доке и книгам, без чтения и практики изучить питон не получится.
@cegthgtlhj
@cegthgtlhj 10 ай бұрын
@@PythonRussian не знаю как остальное содержание канала, но данный урок очень удачный на мой взгляд. Еще раз благодарю.
@aquabogira
@aquabogira Жыл бұрын
Спасибо большое!!!!!!
@edgull_tlt
@edgull_tlt 3 жыл бұрын
Спасибище огромное!
@marinatsoy6779
@marinatsoy6779 6 ай бұрын
Такого крутого объяснения нигде не видела
@user-tl8rg6oq6x
@user-tl8rg6oq6x 2 жыл бұрын
ЮуХу! Нормальный звук! А если серьезно - классный контент! Так держать!
@PythonRussian
@PythonRussian 2 жыл бұрын
не, все верно, с микрофоном были проблемы, наладили =)
@HappyKaty777
@HappyKaty777 Жыл бұрын
спасибо. только посмотрев это видео, стало все понятно по этой теме.
@sinrew2073
@sinrew2073 2 жыл бұрын
Большое спасибо
@markmarkus8690
@markmarkus8690 Жыл бұрын
Не понимаю почему такой талант не в топах😱 Огромнейшее спасибо!!! Придут деньги, обязательно донат🤓(только куда?)
@PythonRussian
@PythonRussian Жыл бұрын
в описаниях к видео есть кошелек юмани
@maskon78
@maskon78 2 жыл бұрын
Вот спасибо!
@illuminate3151
@illuminate3151 2 жыл бұрын
Спасибо, теперь все понятно)
@Empty_line
@Empty_line 2 жыл бұрын
Объясни пожалуйста простыми словами
@andreyo.945
@andreyo.945 Жыл бұрын
Спасибо
@user-rf3po7nm7o
@user-rf3po7nm7o Ай бұрын
Спасибо мужик
@user-dr2lc4wu6p
@user-dr2lc4wu6p 2 ай бұрын
стало понятно теперь)
@MrReclamist
@MrReclamist Жыл бұрын
Спасибо, тоже понял только после этого видео
@chingizbapanov9248
@chingizbapanov9248 Жыл бұрын
💥💥💥
@denisalexandrov868
@denisalexandrov868 3 жыл бұрын
огонь, разобрался!
@xrollup
@xrollup Жыл бұрын
Отлично.
@user-ms3dw2qx3s
@user-ms3dw2qx3s 5 ай бұрын
Браво👏
@user-ms3dw2qx3s
@user-ms3dw2qx3s 5 ай бұрын
Хотелось бы услышать объяснение конструкторов типа __init__, если есть на вашем канале ссылочку пожалуйста.
@maxdemon4778
@maxdemon4778 Жыл бұрын
Топ Контент))
@user-uc5vw6ls9k
@user-uc5vw6ls9k 3 жыл бұрын
Спасибо за микрофон!
@PythonRussian
@PythonRussian 3 жыл бұрын
а микрофон все тот же)) просто подсказали про шумоподавление в OBS
@user-nc8fq4bn4y
@user-nc8fq4bn4y 3 жыл бұрын
О, микро починил! Красавца, автор!
@PythonRussian
@PythonRussian 3 жыл бұрын
ага, спасибо, включил плагин в ОБС, спасибо всем кто научил уму-разуму:-)
@viktorsokolov8153
@viktorsokolov8153 Жыл бұрын
Как здорово, спасибо огромное. Великолепное объяснение. Как у Вас дела? Возвращайтесь, пожалуйста!
@PythonRussian
@PythonRussian Жыл бұрын
привет, спасибо все хорошо, времени только мало, а работа очень интересная=) Вот в отпуск пойду и постараюсь снять еще видео.
@viktorsokolov8153
@viktorsokolov8153 Жыл бұрын
@@PythonRussian Буду ждать с нетерпением. Каждое видео на канале поднимает мой уровень понимания пайтон. Редкий случай, когда обучение не утомляет, а вызывает интерес узнавать еще и еще.
@denisnjar5369
@denisnjar5369 Жыл бұрын
охренеть!
@PythonRussian
@PythonRussian Жыл бұрын
что конкретно вы хотите сказать?
@denisnjar5369
@denisnjar5369 Жыл бұрын
@@PythonRussian я в шоке от качества информации и манеры подачи информации. Я такого не видел нигде.
@SynWise
@SynWise 7 ай бұрын
Слишком тихо, даже в наушниках не слышно почти, особенно если сидишь не в тишине
@user-nb2zf3lk7j
@user-nb2zf3lk7j 2 жыл бұрын
Сделайте видео про модуль functools.
@tigrangasparyan8008
@tigrangasparyan8008 4 ай бұрын
Почему при импортировании модуля(другого проекта), он не запускается сразу, как у вас???
@vtorou_personazh
@vtorou_personazh 2 жыл бұрын
13:54 а что если только собака есть ?
@PythonRussian
@PythonRussian 2 жыл бұрын
тогда даже не знаю, что посоветовать =)
@_Kruzo_
@_Kruzo_ 9 ай бұрын
ни хера не слышно, соответственно и труднопонятно...
Частые ошибки начинающих питонистов
41:43
НЕОБЫЧНЫЙ ЛЕДЕНЕЦ
00:49
Sveta Sollar
Рет қаралды 8 МЛН
Каха с волосами
01:00
К-Media
Рет қаралды 6 МЛН
I PEELED OFF THE CARDBOARD WATERMELON!#asmr
00:56
HAYATAKU はやたく
Рет қаралды 35 МЛН
Основное оружие питониста: Listcomps и Genexp
52:55
Первые шаги в ООП: класс, объект, self
1:00:45
Python Russian
Рет қаралды 30 М.
Основы Asyncio
53:25
Python Russian
Рет қаралды 9 М.
Замыкания (Closures) в Python
30:54
Python Russian
Рет қаралды 13 М.
Конкурентность и параллельность
40:31
Python Russian
Рет қаралды 4,9 М.
НЕОБЫЧНЫЙ ЛЕДЕНЕЦ
00:49
Sveta Sollar
Рет қаралды 8 МЛН