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

Sdílet
Vložit
  • čas přidán 12. 01. 2021
  • Расскажу для чего мы пишем if __name__=='__main__' и кому это может пригодиться.
    Важные моменты:
    1) любой код на питоне лежит в модуле (файл с расширением py)
    2) любой модуль при запуске программы получает атрибут _name_
    3) один(!) модуль, с которого программа началась (точка входа) получает имя __main__, все остальные (которые импортированы) получают имя, равное имени в файловой системе, без расширения. Например first
    4) Крайне важное для понимания! Любой модуль при импорте выполняется, как если бы мы его запустили отдельно. То есть все принты будут напечатаны(если они не в функциях), любой вызов функции выполнен.
    if __name__=='__main__' означает "если этот модуль НЕ был импортирован, а запущен напрямую, то..." и все действия в данном блоке НЕ будут выполнены при импорте модуля.
    Для чего это нужно в том числе новичку:
    - группировать все наши действия, имеющие эффект, потом их просто найти и менять
    - отладка, тесты, ассерты, при импорте они не выполнятся
    - специфичные настройки для запуска
    Подчеркну, что блок мейн вовсе не обязателен, это просто возможность что-то выполнять в модуле скажем для отладки так, чтобы не получить ненужные эффекты при импорте, если мы забыли отладочные вещи убрать.
    Присоединяйтесь к помощи каналу, будет интересно)
    ✔️Бусти boosty.to/python_russian/donate
    ✔️Юмани 410011506612886
    Будь первым везде и всегда, включай уведомления о новых выпусках 🔔
    Смотри там где удобно🤩
    ✔️ python_russian
    ✔️ boosty.to/python_russian
    ✔️ / pythonrussian
    ✔️ t.me/python_russian
    ✔️ dzen.ru/python_russian
    ✔️ rutube.ru/channel/24346352/
    #Python #PythonRussian #PyCharm

Komentáře • 107

  • @uf4412
    @uf4412 Před rokem +17

    Феноменально превосходное объяснение для чего необходима эта конструкция!
    Ни на курсах, ни по роликам до этого никто не смог объяснить.
    Бриллиант!

  • @Flomasterok
    @Flomasterok Před 3 lety +49

    Спасибо! пересмотрел с пяток видео про __main__ и только с твоего видео стало понятно что это такое и как оно работает и для чего оно нужно!

    • @PythonRussian
      @PythonRussian  Před 3 lety +3

      рад, что помог, для того и записывал

    • @dedkudim
      @dedkudim Před 2 lety +1

      Аналогичная ситуация! Большое спасибо за объяснение!!!

    • @Cosmofen2013
      @Cosmofen2013 Před 2 lety +1

      Благодаря таким комментам, я понимаю что не один так туплю) а благодаря автору этого замечательного видео, мы начинаем меньше тупить и больше соображать) класс 👍

    • @antonk4475
      @antonk4475 Před rokem

      Аналогично, коллега!

  • @lunol2885
    @lunol2885 Před rokem +8

    Вы тот учитель, о котором я мечтала в школе и университете! Это действительно талант. Заметила, что на ваших роликах у меня мозг оживает, а не пытается впасть в спячку. Абсолютно нет ощущения, что информация воспринимается через сопротивление. Наоборот, все так логично и понятно, что хочется копать глубже. Вы ангел, спасибо за ваш труд!

  • @rollangrant8347
    @rollangrant8347 Před rokem +10

    Не перестаю удивляться тобой, и твоим логическим ходом понятным для меня новичку в питоне объяснением!!!!!!!!!!!! Спасибо тебе огромное!!!

  • @ArtasMenethil
    @ArtasMenethil Před 2 lety +12

    Согласен с комментаторами. Первое видео, где услышал и увидел внятное, подробное, даже слишком, объяснение __main__.
    Теперь понятно, почему из доп модулей нужно импортировать конкретные классы и функции. Либо в каждом модуле нужно прописывать if __name__ == __main__.

  • @user-to9qz4ks4j
    @user-to9qz4ks4j Před rokem +2

    Прямо магия python :)
    Спасибо, очень доходчиво!

  • @sergeipups1835
    @sergeipups1835 Před rokem +3

    Спасибо большое автору за простое и качественное объяснение этой темы! Без спешки, акцентирование внимания на ключевых моментах и подытог в конце видео - все это позволило мне понять эту конструкцию. До этого 2 дня смотрел объяснения других авторов, читал статьи на эту тему - вроде, понятно и не понятно. Другому человеку бы не смог объяснить эту тему, значит не понял. А тут такое классное объяснение! А еще параллельно повторял за автором. Еще раз спасибо большое!)

  • @GorArakelyan-no7mx
    @GorArakelyan-no7mx Před rokem +2

    Лучшее объяснение из всех, что я видел. Спасибо

  • @andreikobelev8217
    @andreikobelev8217 Před rokem +2

    Блин ты реально красавчик!! спасибо большое! До такой степени доходчиво объяснил! пересмотрел кучу видосов - одна вода, твой видос - 0 воды!

  • @voila2000
    @voila2000 Před 3 lety +10

    Кроме великолепной подачи материала, Ваши уроки выделяются еще и уважением к своим слушателям, новичкам в Питоне. Особенно на фоне многих других авторов роликов типа "язык ## для маленьких и тупых" с спутанными мыслями, невнятной речью и чрезмерным ЧСВ

    • @PythonRussian
      @PythonRussian  Před 3 lety +5

      спасибо. Ну канал для новичков и создан, все мы в какой то момент ими были, так почему бы их не уважать?))

  • @user-vj1io4sq6r
    @user-vj1io4sq6r Před měsícem

    Автору обязательно надо продолжать выкладывать видео по другим темам. Феноменально простое объяснение.Реально только на этом видео и понял для чего это конструкция !

  • @user-pw5mk5cd8g
    @user-pw5mk5cd8g Před rokem +2

    Спасибо огромное, пересмотрел много других видео на эту тему и только Ваше разложило все по полочкам. Еще раз, СПАСИБО ВАМ ОГРОМНОЕ !

  • @F_C_T_L
    @F_C_T_L Před rokem +1

    Лучшее видео об этой теме, не по 3 минуты, а 15, зато всё понятно.

  • @Laserball74
    @Laserball74 Před rokem +2

    Ну наконец то нашёл понятное объяснение!👌
    Спасибо большое автору!лайкнул и подписался!

  • @andrewmishkov9279
    @andrewmishkov9279 Před rokem +3

    Спасибо, вы очень доходчиво обьясняете. Повезло вашим коллегам по работе.

  • @nohtyp_gniyduts838
    @nohtyp_gniyduts838 Před rokem +3

    Отлично. Как жаль, что я так поздно нашел ваш канал. Реальные объяснения от практика с реальными практическими примерами.

  • @moumoumoumou8199
    @moumoumoumou8199 Před rokem

    Прекрасная подача материала. Не всем дано умение передавать свои знания , где конечным результатом будет освоение полученной информации и применение на практике с абсолютным пониманием. По ходу разобралась с fonction def. Начала пересмотр всех ваших видео. Спасибо за проделанную работу .

  • @13_chasov_nochi
    @13_chasov_nochi Před 2 lety +2

    Спасибо вам огромное. У вас самое понятное и подробное объяснение этой конструкции

  • @user-qz6gd6qv4p
    @user-qz6gd6qv4p Před měsícem

    знаком с питоном больше года, просто балуюсь) тысячи всяких видосов смотрел, кучу статей. Никогда не понимал суть __мэйн__ ) да и не нужно особо было.. тут просто за 10 минут раз и ПОНЯЛ) спасибо!

  • @Insidepointg
    @Insidepointg Před rokem +1

    Мужик, спасибо тебе!
    Я на курсах хекслета не мог понять, 20 раз перечитал теорию, твое объяснение и сразу все встало на свои места! Респект

  • @fudth1151
    @fudth1151 Před 3 lety +8

    Можно часами слушать как Walemir1 рассказывает о магических атрибутах модуля!

    • @PythonRussian
      @PythonRussian  Před 3 lety

      там всего 15 минут)))

    • @gsx
      @gsx Před rokem +1

      @@PythonRussian *4 вот и час) Эти видео правда можно слушать часами, тем более по Пайтон для новичка я правда по несколько раз прослушиваю - приятная речь, интересное и понятное содержание, да ещё и без "эээээээ", я одно видео по Блендеру смотрел, так там если все "ээээээээээ" вырезать тайминг раза в два с половиной короче бы стал, и это правда тяжело слушать

  • @ipikoy3257
    @ipikoy3257 Před 2 lety +3

    Спасибо за объяснение!!! Очень доходчиво был рассказан этот материал.

  • @Ivan-lz9fn
    @Ivan-lz9fn Před 3 lety +3

    Спасибо большое за разбор! Проще на ютубе не нашёл.

    • @PythonRussian
      @PythonRussian  Před 3 lety

      благодарю за отзыв! буду и дальше стараться

  • @tonystark2031
    @tonystark2031 Před rokem +1

    Автору, грамоту, премию или всё ,что захочет. Лишь бы продолжал. Действительно первое понятное объяснение! 👍

    • @PythonRussian
      @PythonRussian  Před rokem

      мне и ордена не надо -я согласен на медаль! =)

  • @kazybekkydyrbai8632
    @kazybekkydyrbai8632 Před 2 lety +1

    Спасибо! Только понял зачем нужен if __name__=="__main__". 4 видео уже просмотрел и ни в одном не мог чётко понять что это. Очень хорошо объясняете!

  • @dlameros
    @dlameros Před rokem +1

    благодарствую, ваш ход подачи мысли хоть и чуть дольше, но доходчивее в сравнеие с другими видеоматириалами

  • @user-gp9xv8nt4c
    @user-gp9xv8nt4c Před rokem +1

    Лучшее объяснение котороя я когда либо встречал, просто топ )

  • @vasiakurok7287
    @vasiakurok7287 Před 2 lety +4

    Спасибо за чёткое объяснение!

  • @andreytyrin6376
    @andreytyrin6376 Před 2 lety +4

    замечательное объяснение, спасибо!

    • @Empty_line
      @Empty_line Před 2 lety

      Объясни пожалуйста простими словами

  • @Petr_Pavlov
    @Petr_Pavlov Před rokem +1

    огромное спасибо Мужик! отменный контент, без воды и по делу

  • @straxd
    @straxd Před rokem +1

    Наконец-то наткнулся на доходчивое объяснение, спасибо!

  • @loness2150
    @loness2150 Před 2 měsíci

    Лучшее видео по теме if __name__=='__main__'

  • @userGerostoos
    @userGerostoos Před 5 dny

    Спасибо, только с твоего объяснения все стало понятно!

  • @fimasmf4444
    @fimasmf4444 Před rokem

    Благодарю! Пожалуй самое понятное объяснение из всего многообразия.

  • @gray6207
    @gray6207 Před 3 lety +2

    Чётко и по делу, без лишней воды

  • @The_Establishment
    @The_Establishment Před rokem

    Пересмотрел кучу видео ничего не понимал, автор на 14:42 объяснил всю суть )) "НЕ ВЫПОЛНЯЙ ТО ЧТО НИЖЕ ЕСЛИ МЫ ИМПОРТИРУЕМ ЭТОТ МОДУЛЬ" ))) Спасибо))

  • @zelzyk
    @zelzyk Před rokem

    Спасибо огромное !!!! Это максимально простое и понятное объяснение на просторе ютуба

  • @user-un2mc2ll4y
    @user-un2mc2ll4y Před rokem +2

    Хорошее видео. Только с него понял. Для понимания не хватало простого пояснения концепции про имена, которые присваиваются модулям в зависимости от того первичные они или импортированные.

  • @user-xr5kh1zc1k
    @user-xr5kh1zc1k Před 2 lety +2

    Очень хорошо объяснил 👍

  • @user-bl5uu9xi9b
    @user-bl5uu9xi9b Před rokem

    Спасибо огромное за понятное и доходчивое объясние!

  • @locky1827
    @locky1827 Před 6 měsíci +1

    Отлично объяснил. Спасибо!

  • @geojan
    @geojan Před 11 měsíci

    Большое спасибо за видео!

  • @themarineussr2011
    @themarineussr2011 Před rokem

    просто гениальное объяснение!!!!

  • @IGalina999
    @IGalina999 Před rokem

    Спасибо, так объяснили что все понятно👌

  • @edgull_tlt
    @edgull_tlt Před 3 lety

    Спасибище огромное!

  • @HappyKaty777
    @HappyKaty777 Před rokem

    спасибо. только посмотрев это видео, стало все понятно по этой теме.

  • @erhundvimmbseowde2918
    @erhundvimmbseowde2918 Před 6 měsíci +1

    Шишкарно объяснил.

  • @user-do4nq3fr6t
    @user-do4nq3fr6t Před 3 lety +1

    спасибо большое за отзывчивость! прояснилось то что не понимал, а именно
    Когда интерпретатор Python читает исходный файл, он исполняет весь найденный в нем код. Перед тем, как начать выполнять команды, он определяет несколько специальных переменных. Например, если интерпретатор запускает некоторый модуль (исходный файл) как основную программу, он присваивает специальной переменной __name__ значение "__main__". Если этот файл импортируется из другого модуля, переменной __name__ будет присвоено имя этого модуля.

  • @user-di3xd7tq8g
    @user-di3xd7tq8g Před rokem +1

    Единственное видео где понятно зачем это надо

  • @user-do4nq3fr6t
    @user-do4nq3fr6t Před 3 lety +1

    теперь эти строки читаюся по другому =) это я ощутил сразу, прям удовлетворение какое то получил

  • @kuznetsov_cars
    @kuznetsov_cars Před rokem

    You make good explanations!
    Thank you!

  • @user-pl3qd8pk6w
    @user-pl3qd8pk6w Před 2 lety +1

    Спасибо за видео

  • @aquabogira
    @aquabogira Před 2 lety +1

    Спасибо большое!!!!!!

  • @cegthgtlhj
    @cegthgtlhj Před rokem

    я - новый присоединившийся. Питонист пока только в душе ))))) Дорогой автор. Великолепная подача. Практически получил оргазм от изложения, содержания и проч. Начинаю активно просматривать остальные видео на канале и присоединяюсь к ТЛГ-каналу. Пожалуйста не останавливайся и продолжай делиться знанием или безкорыстно или корыстно но умеренно )))) Спасибо

    • @PythonRussian
      @PythonRussian  Před rokem

      спасибо, не забывайте что мои видео только довесок и мотив к доке и книгам, без чтения и практики изучить питон не получится.

    • @cegthgtlhj
      @cegthgtlhj Před rokem

      @@PythonRussian не знаю как остальное содержание канала, но данный урок очень удачный на мой взгляд. Еще раз благодарю.

  • @marinatsoy6779
    @marinatsoy6779 Před 7 měsíci

    Такого крутого объяснения нигде не видела

  • @user-tl8rg6oq6x
    @user-tl8rg6oq6x Před 2 lety +1

    ЮуХу! Нормальный звук!
    А если серьезно - классный контент! Так держать!

    • @PythonRussian
      @PythonRussian  Před 2 lety

      не, все верно, с микрофоном были проблемы, наладили =)

  • @chingizbapanov9248
    @chingizbapanov9248 Před rokem +1

    💥💥💥

  • @user-ms3dw2qx3s
    @user-ms3dw2qx3s Před 7 měsíci

    Самое лучшее объяснение и не объяснимо мало просмотров

  • @illuminate3151
    @illuminate3151 Před 2 lety +2

    Спасибо, теперь все понятно)

    • @Empty_line
      @Empty_line Před 2 lety

      Объясни пожалуйста простыми словами

  • @xrollup
    @xrollup Před rokem +1

    Отлично.

  • @markmarkus8690
    @markmarkus8690 Před rokem +1

    Не понимаю почему такой талант не в топах😱
    Огромнейшее спасибо!!!
    Придут деньги, обязательно донат🤓(только куда?)

    • @PythonRussian
      @PythonRussian  Před rokem

      в описаниях к видео есть кошелек юмани

  • @sinrew2073
    @sinrew2073 Před 3 lety

    Большое спасибо

  • @user-ms3dw2qx3s
    @user-ms3dw2qx3s Před 7 měsíci

    Браво👏

    • @user-ms3dw2qx3s
      @user-ms3dw2qx3s Před 7 měsíci

      Хотелось бы услышать объяснение конструкторов типа __init__, если есть на вашем канале ссылочку пожалуйста.

  • @user-rf3po7nm7o
    @user-rf3po7nm7o Před 3 měsíci

    Спасибо мужик

  • @MrReclamist
    @MrReclamist Před rokem

    Спасибо, тоже понял только после этого видео

  • @discord4364
    @discord4364 Před rokem +1

    Лайкос однозначно, но можно голос чуток погромче сделать :)

  • @maskon78
    @maskon78 Před 2 lety

    Вот спасибо!

  • @andreyo.945
    @andreyo.945 Před rokem +1

    Спасибо

  • @denisalexandrov868
    @denisalexandrov868 Před 3 lety +1

    огонь, разобрался!

  • @maxdemon4778
    @maxdemon4778 Před rokem

    Топ Контент))

  • @user-dr2lc4wu6p
    @user-dr2lc4wu6p Před 3 měsíci +1

    стало понятно теперь)

  • @user-nc8fq4bn4y
    @user-nc8fq4bn4y Před 3 lety

    О, микро починил! Красавца, автор!

    • @PythonRussian
      @PythonRussian  Před 3 lety

      ага, спасибо, включил плагин в ОБС, спасибо всем кто научил уму-разуму:-)

  • @user-uc5vw6ls9k
    @user-uc5vw6ls9k Před 3 lety

    Спасибо за микрофон!

    • @PythonRussian
      @PythonRussian  Před 3 lety

      а микрофон все тот же)) просто подсказали про шумоподавление в OBS

  • @viktorsokolov8153
    @viktorsokolov8153 Před rokem

    Как здорово, спасибо огромное. Великолепное объяснение. Как у Вас дела? Возвращайтесь, пожалуйста!

    • @PythonRussian
      @PythonRussian  Před rokem +2

      привет, спасибо все хорошо, времени только мало, а работа очень интересная=) Вот в отпуск пойду и постараюсь снять еще видео.

    • @viktorsokolov8153
      @viktorsokolov8153 Před rokem +1

      @@PythonRussian Буду ждать с нетерпением. Каждое видео на канале поднимает мой уровень понимания пайтон. Редкий случай, когда обучение не утомляет, а вызывает интерес узнавать еще и еще.

  • @denisnjar5369
    @denisnjar5369 Před rokem

    охренеть!

    • @PythonRussian
      @PythonRussian  Před rokem

      что конкретно вы хотите сказать?

    • @denisnjar5369
      @denisnjar5369 Před rokem +1

      @@PythonRussian я в шоке от качества информации и манеры подачи информации. Я такого не видел нигде.

  • @user-nb2zf3lk7j
    @user-nb2zf3lk7j Před 2 lety

    Сделайте видео про модуль functools.

  • @tigrangasparyan8008
    @tigrangasparyan8008 Před 5 měsíci

    Почему при импортировании модуля(другого проекта), он не запускается сразу, как у вас???

  • @vtorou_personazh
    @vtorou_personazh Před 2 lety +1

    13:54 а что если только собака есть ?

    • @PythonRussian
      @PythonRussian  Před 2 lety

      тогда даже не знаю, что посоветовать =)

  • @SynWise
    @SynWise Před 9 měsíci

    Слишком тихо, даже в наушниках не слышно почти, особенно если сидишь не в тишине

  • @_Kruzo_
    @_Kruzo_ Před 10 měsíci +2

    ни хера не слышно, соответственно и труднопонятно...