Уроки Python casts #4 - if __name __ == '__main__': что это значит

  Рет қаралды 66,033

Oleg Molchanov

Oleg Molchanov

6 жыл бұрын

Мои курсы:
Boosty:
boosty.to/omolchanov/posts/99...
Patreon:
/ karty-vsekh-41011404
Что означает конструкция if _name_ == '__main__'. Что такое переменная __name__, зачем нужно и как использовать.
На всякий случай:
Это два нижних подчеркивания спереди и сзади.
** ИСХОДНЫЙ КОД **
Основных проектов доступен в Patreon:
/ iskhodnyi-kod-26640469
***
------
🔷 Для донатов. Всегда очень признателен за это:
www.donationalerts.ru/r/omolc...
------
Продолжение серии уроков по языку Python для начинающих. Серия посвящена отдельным темам по программированию на Python.
★ Важно:
Как читать Traceback Python:
• Как читать Traceback P...
Работа с ошибками на примере двух нерабочих парсеров:
• Python: работа с ошибк...
★ Все серии Python casts:
1 - Что вам нужно знать о Pip
• Уроки Python Casts # 1...
2 - Переменные окружения. Использование.
• Уроки Python casts # 2...
3 - Что означает *args, **kwargs
• Уроки Python casts # 3...
#4 - if __name __ == '__main__': что это значит
• Уроки Python casts #4 ...
#5 - Генераторы списков (List comprehension)
• Уроки Python casts #5 ...
#6 - Декораторы
• Уроки Python casts #6 ...
#7 - 5 приемов, о которых вы могли не знать
• Уроки Python casts #7 ...
#8 - Замыкания
• Уроки Python casts #8 ...
#9 - Что такое try... except...
• Уроки Python casts #9 ...
#10 - Что такое yield
• Уроки Python casts #10...
#11 - Как работает функция map()
• Уроки Python casts #11...
#12 - Как работает функция filter()
• Уроки Python casts #12...
#13 - Else у циклов For и While
• Уроки Python casts #13...
★ Плейлисты:
Django 2.x:
• Уроки Django 2.x
Flask:
• Создание блога на Flas...
Боты для Телеграма:
• Telegram боты на Python
Работа с API Вконтакте:
• Работа с API Вконтакте...

Пікірлер: 92
@user-fl6pp5vr8n
@user-fl6pp5vr8n 2 жыл бұрын
Объяснение действительно хорошее, но хотелось бы увидеть конкретный пример работы этого метода
@elenalevasheva3830
@elenalevasheva3830 Жыл бұрын
Спасибо за вашу работу, за ваши знания и за то , что делитесь ими.
@sergey4340
@sergey4340 6 жыл бұрын
Спасибо, так действительно понятно как работает эта условная конструкция. Очень хочется услышать такое же внятное как тут или в видео про функции, объяснение про классы...Для меня какая-то сложная тема почему то...хотя там в 5 минут наверное не уложиться. Так же нравится эта форма подачи материала, где ты затрагиваешь какие то "разные" нюансы. Хотя твои скринкасты тоже очень приятно смотреть и слушать, т.к. в них тоже много интересного объясняешь.
@zaemiel
@zaemiel 6 жыл бұрын
Спасибо. ООП - тема большая. В любом случае я планировал делать по ней материал.
@nyrouxhide91
@nyrouxhide91 Жыл бұрын
Наткнулся на один видос, теперь пересматриваю вообще всё. Канал просто находка. Спасибо
@TakuatChanel
@TakuatChanel 5 жыл бұрын
Без сомнения это лучшие практические уроки по Питону на ютубе, спасибо тебе мужик!
@aliyagafurova508
@aliyagafurova508 5 жыл бұрын
Большое спасибо! Понравилось, что вы не просто объяснили, как это работает, но и в каких случаях стоит использовать.
@user-oi1zl6de8i
@user-oi1zl6de8i 6 жыл бұрын
Лайк поставил. Нахожу для себя практически полезным просмотр Ваших видео - очень помогает в освоении питона. Спасибо.
@zaemiel
@zaemiel 6 жыл бұрын
Спасибо вам
@user-zn6mc4tq4l
@user-zn6mc4tq4l Жыл бұрын
Прохожу ваш курс по парсингу, все понятно объясняете! Респект вам и уважуха)
@itkot7390
@itkot7390 6 жыл бұрын
Тема супер. Побольше бы такого контента! Спасибо
@zaemiel
@zaemiel 6 жыл бұрын
Спасибо. Обязательно будет больше, но не сразу
@yippeeki-yey
@yippeeki-yey 5 жыл бұрын
ахахах, включаю видео «как парсить сайты 2017», вижу непонятный код, бегу гуглить шо цэ такое, нахожу первое попавшиеся видео, все понимаю и возвращаюсь обратно, позже выясняю, что это один и тот же канал
@yippeeki-yey
@yippeeki-yey 5 жыл бұрын
@@simpleperson3234 ага
@asb_unnamed5949
@asb_unnamed5949 2 жыл бұрын
Пересмотрел несколько уроков, не хрена не понял. По этому видосу все стало на свои места, спасибо)
@leomysky
@leomysky 3 жыл бұрын
Спасибо за понятный и полезный материал!
@kosstrw
@kosstrw 4 жыл бұрын
Прочитал об этом несколько пояснений, но понял зачем эта конструкция только отсюда. СПАСИБИЩЕ!!!
@viktorskurko
@viktorskurko 6 жыл бұрын
Очень интересно. Больше кастов!
@alenap.8
@alenap.8 8 ай бұрын
Спасибо! это было интересно. узнала о вашем видео из курса на степике "Автоматизация тестирования с помощью Selenium и Python". Думаю подпишусь и посмотрю другие ваши видео!
@Fleshgod
@Fleshgod 5 жыл бұрын
Очень подробно и понятно! Спасибо большое!
@TK-vj3gd
@TK-vj3gd 5 жыл бұрын
Cпасибо, стало понятнее. Запили видос о рекурсии в python))
@DotByNet
@DotByNet 6 жыл бұрын
Спасибо тебе твой труд!
@dyukel
@dyukel 2 жыл бұрын
очень доходчиво объяснено!
@evgeniyartemenko542
@evgeniyartemenko542 2 жыл бұрын
Крайне хорошее видео. Благодарю.
@imgnl
@imgnl 6 жыл бұрын
Спасибо, Олег!
@wraithking3943
@wraithking3943 5 жыл бұрын
Хорошая работа, Олег!
@ivannaumovets2066
@ivannaumovets2066 4 ай бұрын
Вот это интересно
@ermolaev_ivan
@ermolaev_ivan 3 жыл бұрын
спасибо, стало понятней)
@nektogekko5103
@nektogekko5103 4 жыл бұрын
Просто лучший!
@elekrax
@elekrax 5 жыл бұрын
Круто. Спасибо.
@zealot4325
@zealot4325 2 жыл бұрын
Спасибо за видео
@vovergg
@vovergg 6 жыл бұрын
Я пока ещё новичок в этом деле.)) Просто мне интересно именно понимать, как всё работает на фундаментальном уровне. Именно по этому мне так нравятся ваши видео.))
@zaemiel
@zaemiel 6 жыл бұрын
Спасибо
@Grino777
@Grino777 2 жыл бұрын
Задам вопрос спустя 3 года. Как успехи, чего добились? Тоже пытаюсь сейчас учить Питон.
@vovergg
@vovergg 2 жыл бұрын
@@Grino777 Как ни странно, Python был лишь отправной точкой. Затем изучил Html, Css, JavaScript, React и доучиваю Vue. Начинал с Python, в итоге работаю fronend-разработчиком.)))
@user-ct4xv3er7q
@user-ct4xv3er7q Жыл бұрын
@@vovergg хренасе вильнул как в сторону )))
@sergeyshestakov607
@sergeyshestakov607 Жыл бұрын
Спасибо помогло
@scrye3333
@scrye3333 5 жыл бұрын
Нихера не понял, можно что то на практике?
@SHlNJlKARl
@SHlNJlKARl 4 жыл бұрын
Ды, для модулей полезно
@JeriLoan
@JeriLoan 3 жыл бұрын
Предположим у тебя есть два модуля, пусть это будет first.py и second.py При запуске модуля first.py напрямую ты получишь в терминале __main__ При запуске second.py в котором происходит импорт модуля first.py ты получишь в терминале first
@MrAndriyevski
@MrAndriyevski 3 жыл бұрын
@@JeriLoan типа в разных скриптах будут срабатывать разные функции! Например в first.py будет запускаться функция find_num() а в second.py она не сработает! У тебя вопрос тогда, зачем импортировать библиотеку если не читается find_num(), ну ты можеш разрешить запустить другую функцию, которая даже first.py не выполнит но зато second.py выполнит! Как то так...
@alekseychaykovskiy3963
@alekseychaykovskiy3963 2 жыл бұрын
Спасибо!
@valerystulov1954
@valerystulov1954 2 жыл бұрын
Спасибо.
@300momega
@300momega 6 жыл бұрын
Отличный контент. Хорошо дополняет плейлисты с проектами. Новое будет по многосерийкам?
@zaemiel
@zaemiel 6 жыл бұрын
Спасибо. Что вы имеете в виду? Это тоже многосерийка.... или вы имели в виду какие-нибудь относительно "большие" проекты?
@300momega
@300momega 6 жыл бұрын
да, речь про большие проекты, типа блога на фласке. У вас хорошо получается объяснять.
@zaemiel
@zaemiel 6 жыл бұрын
Да, будут.
@zaemiel
@zaemiel 6 жыл бұрын
Кстати, если у вас есть идеи, то обязательно пишите. А то я порой не знаю, о чем снимать
@marioondablock8939
@marioondablock8939 3 жыл бұрын
спасибо
@user-tb1ok2wg4s
@user-tb1ok2wg4s 3 жыл бұрын
все понятно
@iaroslavdavydiak6439
@iaroslavdavydiak6439 5 жыл бұрын
Подскажите как сделать такой же atom runner для файлов .py как в видео, чтобы код выполнялся и выводился справа, а не снизу ?
@iaroslavdavydiak6439
@iaroslavdavydiak6439 5 жыл бұрын
все нашел kzbin.info/www/bejne/bWqXfqqeeLV8kLs
@user-qb2rp1hu1v
@user-qb2rp1hu1v 5 жыл бұрын
Запутался я не много, зачем два файла? если просто создать один файл трехстрочный посредине инструкцию if __name__ == __main__: и в командной строке уже запустить непосредственно, и как импорт. Вы конечно извините если что не так и поправьте меня, так смысл понятен.. (почти) И спасибо за ваши уроки и старания!
@sergioborussa
@sergioborussa 2 жыл бұрын
@bulat6087
@bulat6087 4 жыл бұрын
Atom из коробки так настроен? Для atom runner'а что-то нужно делать?
@zaemiel
@zaemiel 4 жыл бұрын
Да, Atom-Runner я настраивал и сделал видео об этом
@lemuriecnoname
@lemuriecnoname 4 жыл бұрын
@@zaemiel где? Из меня фиговая ищейка. Не смог найти
@user-gl8qs7qj4k
@user-gl8qs7qj4k 4 жыл бұрын
пока не понял ничего, но думаю возможно позже пойму. Может быть всему свое времечко.
@int0matar
@int0matar 4 жыл бұрын
В чем разница обычного импорта из файла 1.py в файл 2.py без условия if name main?
@MisterKoK22
@MisterKoK22 4 жыл бұрын
Кто как я не вкурил сразу. В дополнение, вот она разница - kzbin.info/www/bejne/e3urloaIgLynnK8
@user-zk3uo3ti6f
@user-zk3uo3ti6f 4 жыл бұрын
@@MisterKoK22 так Олег тоже самое по-моему и показал) только в другом порядке
@andriymalenkov9642
@andriymalenkov9642 4 жыл бұрын
@@MisterKoK22 Thanks for the link, that Indian guy explains the same concept but in a clearer way as he uses 2 files to show you the practical meaning. However, Oleg is really good as well
@decarbonization
@decarbonization 2 жыл бұрын
@@MisterKoK22 спасибо, индус гораздо проще всё объяснил на примере, без абстракций и непонятных выражений вроде "Мы убедились что служебная встроенная переменная main хранит имя модуля. Значение main оно приобретает когда скрипт мы запускаем самостоятельно и непосредственно имя текущего модуля где она была определена она приобретает когда мы производим импорт нужных объектов в другой модуль".
@alexanderpadalka5708
@alexanderpadalka5708 3 жыл бұрын
🗽
@user-ky3xm7qk6y
@user-ky3xm7qk6y 4 жыл бұрын
Хорошо изложено, но хотелось бы пример, в какой ситуации __name__ будет НЕ равно __main__
@vitalik100500q
@vitalik100500q 4 жыл бұрын
В видео же был пример, во всех случаях когда ты импортировал этот файл, вместо main будет название файла
@user-hh4uu9jd9f
@user-hh4uu9jd9f 5 жыл бұрын
Спасибо за такое полезно видео! Расскажите пожалуйста про создание установочного файла через pip install request.txt и функции setup для него
@zaemiel
@zaemiel 5 жыл бұрын
kzbin.info/www/bejne/rYXLXndufLmdm6M
@user-ct4xv3er7q
@user-ct4xv3er7q Жыл бұрын
Щщерт.. который раз уже смотрю этот нюанс. И опять, разжевано все вроде подробно. Но опять я нихрена не понял.. В голове опять осталось Надо. Блин.. ну ок. Надо, так надо. Будем писать так. (Хотя зачее-еем.. мозг не понял, мозг протестует )))
@user-ho6qv1yq2o
@user-ho6qv1yq2o 7 ай бұрын
Блин непонял эта name определяет название функции ?
@maximus2088
@maximus2088 5 жыл бұрын
Спасибо За урок! С меня лайк! Только есть одно но! Help!!!! if__name__=='__main__': # invalid syntax!!! Python 3/7 Люди кто вкурсе, почему !?!? Подскажите что делать , я только учусь,,,)))
@maximus2088
@maximus2088 5 жыл бұрын
Проблему решил. "__main__" Работает с двумя кавычками , еще была ошибка в аргументах. Всем спасибо !!!
@zaemiel
@zaemiel 5 жыл бұрын
__main__ работает и с одинарными кавычками, но открывающие и закрывающие кавычки должны быть одного типа - либо двойные, либо одинарные. Смешивать их нельзя.
@user-bs5uh5qy3h
@user-bs5uh5qy3h 2 жыл бұрын
Мы напрямую запускаем -значит main ,import значит hello , в условии функцию вызвали результат не импортировался , вызвали в hello сработалоии че типо лол и нафиг оно надо
@_mrmark
@_mrmark Жыл бұрын
Я не разобрался совсем.
@user-zi7dm9uq3s
@user-zi7dm9uq3s 3 жыл бұрын
нихрена не понял, name должно быть равно названию файла? т.е. если мой код в файле 123.py, то нужно писать if __name__ == '__123__' :?
@liza4592
@liza4592 3 жыл бұрын
Нет, должно быть __name__ = "__main__"
@user-zi7dm9uq3s
@user-zi7dm9uq3s 3 жыл бұрын
@@liza4592 спасибо!
@MrNagios
@MrNagios 6 жыл бұрын
import is execution.
@zaemiel
@zaemiel 6 жыл бұрын
речь не об этом
@nikitayasnev
@nikitayasnev Жыл бұрын
я ничего не поняла, никакой структурности
@testercollabio3145
@testercollabio3145 4 жыл бұрын
вообще непонятно(((
@MisterKoK22
@MisterKoK22 4 жыл бұрын
Очень жаль. Но надеюсь разобралась в итоге. =)))
@osvab000
@osvab000 4 жыл бұрын
Понял что она означает, но не понял зачем нужна! Во как!
@imbamen1499
@imbamen1499 4 жыл бұрын
ничего не понял... абсолютно...
@sherzodabdumutalibov1384
@sherzodabdumutalibov1384 Жыл бұрын
Ты не один🤝
@user-jm1wl1xw5p
@user-jm1wl1xw5p 11 ай бұрын
Я понял что ничего не понял
@inkvisitorXYZ
@inkvisitorXYZ 2 жыл бұрын
друг, извини если не по теме. другая математика kzbin.info/www/bejne/anjcan2kmcRosKs. людям с твоим складом ума - обязательно понравится.
@Himera1983
@Himera1983 Жыл бұрын
ничего не понятно из болтовни
@skynet7789
@skynet7789 10 ай бұрын
знать бы ещё что такое точка входа
@zaemiel
@zaemiel 10 ай бұрын
то место, с которого начинает работать ваша программа
@user-kg3wx4br9y
@user-kg3wx4br9y Жыл бұрын
не понятно
2000000❤️⚽️#shorts #thankyou
00:20
あしざるFC
Рет қаралды 13 МЛН
The delivery rescued them
00:52
Mamasoboliha
Рет қаралды 10 МЛН
Climbing to 18M Subscribers 🎉
00:32
Matt Larose
Рет қаралды 18 МЛН
We Got Expelled From Scholl After This...
00:10
Jojo Sim
Рет қаралды 22 МЛН
Уроки Python casts #6 - Декораторы
19:50
Oleg Molchanov
Рет қаралды 141 М.
Меняла стек в IT 7 раз - делюсь опытом!
34:49
IT-Собеседница
Рет қаралды 21 М.
Python Tutorial: if __name__ == '__main__'
8:43
Corey Schafer
Рет қаралды 2 МЛН
If __name__ == "__main__" for Python Developers
8:47
Python Simplified
Рет қаралды 379 М.
2000000❤️⚽️#shorts #thankyou
00:20
あしざるFC
Рет қаралды 13 МЛН