Тёмный

Самый СТРАННЫЙ оператор в Python (основные фишки и ошибки с walrus operator) 

ZProger [ IT ]
Подписаться 107 тыс.
Просмотров 68 тыс.
50% 1

⭐ Курс ООП и Приват канал: www.zproger-school.com/?...
⭐ Мой телеграм канал: t.me/+7INN3ABOEnk1ZGIx
⭐ Телеграм канал из видео: t.me/+i-oKNJt75rowNWVi
В данном видео мы рассмотрим очень странный оператор Python, который добавили в релизе Python3.8. Многие вообще не знают о его существование, но он призван упростить нам написание кода и избавить от ошибок.
Но как бы это странно не звучало, в некоторых моментах он эти ошибки наоборот добавляют, поэтому в этом видео мы рассмотрим как и возможности оператора, так и ошибки, которые часто совершают новички, используя возможности оператора моржа.
📁 Документация walrus operator: t.me/codeblog8/133
📁 Github: github.com/Zproger
📁 Все плейлисты с уроками: bit.ly/39GaY89
📁 Связаться со мной: zproger777@gmail.com
📁 Поддержать криптовалютой: github.com/Zproger/donate
Тайм-коды:
0:00 - Новый странный оператор
0:55 - Как работает оператор моржа?
1:26 - Странные записи walrus оператора
2:00 - Зачем добавили этот оператор? Почему не расширили оператор присваивания?
4:06 - Оператор моржа это синтаксический сахар?
4:46 - Пример использования в условиях
6:15 - Использование в циклах для ввода данных
7:16 - Настоящее предназначение walrus оператора в python
9:28 - Интересный пример использования
10:04 - Разбираем популярные ошибки с оператором моржа
11:40 - Где глубже изучить этот оператор?

Опубликовано:

 

2 июн 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 279   
@zproger
@zproger Год назад
Если кто знает интересные фишки с этим оператором, не забудьте поделиться в комментариях =)
@grigoriikuchumov2277
@grigoriikuchumov2277 Год назад
Принципиальная разница между := и = в том, что первый оператор определяет выражение, а второй - инструкцию. Поэтому как и должно при использовании выражений возвращается результат обработки выражения. С инструкциями такое не прокатывает, потому что инструкции не могут никаких результатов возвращать (это не их роль). "Проблемка" в Си (и многих наследниках) была в том, что там оператор = являл собой и инструкцию и выражение в зависимости от контекста использования. a = 5; - инструкция присваивания. if (a = 5) ... ; - выражение (a = 5) в инструкции (условной оператор). Да, при неопытности или рассеянности это может приводить к проблемам, при перепутывании операторов = и ==, например, в условном выражении. В Python = является только инструкцией и никак иначе (следовательно, возвращать значения не может), поэтому если бы вернули "фишку" классических Си-подобных языков с оператором инструкции и выражения в зависимости от контекста, то это было бы не в духе Python, в котором стараются в максимальную однозначность и т. п. В print(a=5) "проблема" в том, что интерпретатор даже не может предположить, что ты с какого-то хрена будешь пихать инструкцию в качестве параметра в функцию. Поэтому, разумеется, ищется подходящий аргумент. Ну, а для наглядной разницы что происходит и какие проблемы могут быть при недостаточном опыте или непонимании что-то типа такого: Первый фрагмент. if a := False and (b := True): print('a = ', a) print('b = ', b) print('a = ', a) print('b = ', b) Второй фрагмент. if a := True and (b := False): print('a = ', a) print('b = ', b) print('a = ', a) print('b = ', b) Третий фрагмент. if a := True and (b := False): print('a = ', a) print('b = ', b) print('a = ', a) print('b = ', b) Четвёртый фрагмент. if a := False or (b := True): print('a = ', a) print('b = ', b) print('a = ', a) print('b = ', b) Пятый фрагмент. if (a := False) or (b := True): print('a = ', a) print('b = ', b) print('a = ', a) print('b = ', b) Поэтому с данным оператором надо быть внимательным. Особенно стоит обратить внимание на 4-й фрагмент и сравнить с 5-м.
@Mr_AnKei
@Mr_AnKei Год назад
Классное видео, очень полезное спасибо :)
@gitarre_spielen
@gitarre_spielen 11 месяцев назад
ну как же, он позволяет оставлять рожицы в комментариях к программе: # :=)
@_vpru
@_vpru 3 месяца назад
@@grigoriikuchumov2277 по-моему код, в котором есть неоднозначности стоит признать говном. Поэтому даже зная приоритет выполнения инструкций/выражений, всё-равно считается хорошим тоном ставить скобки. В конце концов, синтаксический сахар должен быть сладким, а не превращать одностроку в горький ребус. Поэтому наверное и цикл FOR будет жить вечно в кодерской среде - он прост и понятен как два пальца.
@justman7656
@justman7656 Год назад
Всё обобщается фразой: Оператор сохраняет значение в переменную и одновременно его возвращает
@zproger
@zproger Год назад
Да, но если я так скажу и сразу закрою видео, никто не поймет ничего)
@rad9587
@rad9587 Год назад
@@zproger что не понятного?
@qvar7449
@qvar7449 Год назад
@@rad9587 думаю многие если услышат такое объяснение просто скажут "зачем? можно же просто просто сначала присвоить переменной, а потом использовать переменную"
@rad9587
@rad9587 Год назад
@@qvar7449 мне лично уже с превьюшки было понятно, что делает этот оператор, хотя программирую на расте
@arsegorov
@arsegorov Год назад
Честно говоря, странно, что обычное присваивание не возвращает присвоенное значение, в отличие от Си, не смотря на то, что Питон на Си и написан. Хотя цепное присваивание `a = b = c` в Питоне есть
@esft-argentum
@esft-argentum Год назад
Определение назначения фактически отсутствует, сплошные иллюстрации. Наглядность - это замечательно, но строгость описания не менее важна. Я лично услышал в данном ролике что-то вроде: «Если мы напишем «print(x:=1)», то значение 1 запишется в x, то есть это - всё равно, что написать «print(1)»...» - как-то невнятно. Должно же, как мне кажется, описание звучать как-то так: «Данный оператор присваивает переменной значение и возвращает его», - и уже дальше можно пускать примеры, так будет и строго, и наглядно.
@xaea-1233
@xaea-1233 Год назад
согласен, видно что автор то сам понимает что говорит, а вот мне непонятно, хотя я уже второй год работаю
@user-en6dz2so7p
@user-en6dz2so7p Год назад
На 7:30 мы имеем дело не с генератором а с (list comprehension - строковые включения) f_data = [y for x in data if (y := test(x)) != 4]. данная запись при вызове type(f_data) вернет . для того что бы создать генератор используется подобная запись, только в круглых скобках: f_data = (y for x in data if (y := test(x)) != 4) - тот же type(f_data) вернет , с которым работают через вызов next(f_data) Отличие этих двух записей очень большое. Так что правильнее будет сказать, что данная запись генерирует список, но генератором не является
@serafimgrubas2070
@serafimgrubas2070 Год назад
Пример с двухчасовой функцией реально дал понимание нужности этого оператора. Остальные примеры тяжело понять, в особенности со строкой startswith поскольку там генератор в любом случае пройдётся по всему списку
@kan4317
@kan4317 Год назад
Не, any "ломается" на первом True
@romansovetskikh7902
@romansovetskikh7902 Год назад
Проблема высосана из пальца. Элементарно всё решаетcя и без моржа.
@user-pz9ju6ss7r
@user-pz9ju6ss7r Год назад
@@romansovetskikh7902 да, решается, просто моржовый оператор изначально создавался как сахар, а не принципиально новый подход
@zproger
@zproger Год назад
Более подробно в документации описали, оператор хоть и достаточно простой по своей логике, но примеров кода очень много и не всегда удается понять с первого раза.
@romansovetskikh7902
@romansovetskikh7902 Год назад
@@user-pz9ju6ss7r ну, такой себе сахар, с огромным содержанием горчицы. Операции присвоения и возврата гораздо интуитивно понятнее. Когда перед тем, как съесть сахар, надо подумать пару дней, явно лучше съесть проверенное несладкое за 5 минут - иначе с голоду помереть можно.
@svaaccelerator313
@svaaccelerator313 Год назад
По поводу примера while (value:= input()) != "" можно же красиво упростить: while name := input("Name:"): print(name)
@sailtogether3236
@sailtogether3236 Год назад
АРГХХ, БЛДЖАД! Это можно было сказать тремя фразами: кейс 1 - присваивать значение переменной в условиях (в С-стиле, но без его недостатка), кейс 2 - перестать делать for y in [fn(x)] в comprehension'ах, и кейс 3 - конфликт синтаксиса присвоения внутри аргумента функции и именованных аргументов функций
@nikitabaraboshin7123
@nikitabaraboshin7123 Год назад
ZProger, пожалуйста, давайте больше конкретики в видео, не обходитесь одними иллюстрациями. Без четкого и ясного определения функции намного сложнее понимать ее применение. Пожалуйста, уделите больше внимания разбору примеров
@Max-qj2fh
@Max-qj2fh Год назад
тот случай когда быстрее прочитать чем посмотреть ролик до конца ) но спасибо за наводку )
@zproger
@zproger Год назад
Пожалуйста =)
@waltage
@waltage 2 месяца назад
Если язык С влияет на Питон - возникает обоснованный вопрос о целесообразности существования этого самого Питона. лол.
@CrossBend
@CrossBend Год назад
вот, сначала нарушают основные принципы программирования - плодят сущности, а потом вынуждены плодить их еще больше из-за именованных аргументов ))))) а как удобно в JS паровозиком присваивать: a=b=1;if(x=a==b)alert('x='+x) счастье порой так близко...
@irwe3514
@irwe3514 Год назад
Очень полезная информация для новичка, все подробно и просто розложено. Спасибо что делаете подобные видео, ждем другие:)
@zproger
@zproger Год назад
Благодарю!
@user-pl6hu6si1u
@user-pl6hu6si1u Год назад
я правильно понял, что он работает как и обычное = ,но вмести с тем возвращает присвоенное значение.
@zproger
@zproger Год назад
Да
@user-gg9ec2nm6i
@user-gg9ec2nm6i Год назад
03:31 знаем знаем) так меньше шансов ошибится. Вместо равенства можно случайно указать присвоение переменной и тогда это будет совсем другой код. Такая запись лишает нас возможности присвоения. У этой фишки есть название, но я не помню его)
@dotcomming7680
@dotcomming7680 Год назад
Yoda notation я подозреваю. Но обычно в ООП таким образом ещё и избавляются от nullPointerException
@zproger
@zproger Год назад
Да, опасная штука :)
@sob3856
@sob3856 Год назад
Насколько я знаю компилятор gcc с параметром -Werror не даст скомпилировать код если нарисать if x=5, оно покажет ошибку.
@bekzodhalilov8689
@bekzodhalilov8689 Год назад
Спасибо очень помогаешь с учёбой по языку Python!!!;)
@zproger
@zproger Год назад
Это хорошо =)
@QAengineer
@QAengineer Год назад
Очень много повторений, можно было сократить видео раза в 2
@zproger
@zproger Год назад
Спасибо, учту в следующих видео и постараюсь не повторяться
@Barmaley_YT
@Barmaley_YT Год назад
Доброго дня, хорошего настроения. Есть интересная особенность, которая к сожалению не касается моржового оператора. Хотелось бы получить ответ на следующий вопрос : Почему конкатинируются строки в листе? Пример следующий: temp=['i','love', 'the ' 'Python','very','match' '!!!'] print(temp)
@someone3835
@someone3835 Год назад
Видео полезное, спасибо. Особенно про производительность при двойном вызове функции.
@vadim5401
@vadim5401 Год назад
Но ведь результат работы двухчасовой функции можно предварительно присвоить в переменную и потом сравнивать как угодно без повторного вызова. Как понимаю, := дает только возможность визуально сократить код на строку присваивания.
@zproger
@zproger Год назад
Это чисто пример, чтобы понять суть оператора. А так да, оператор частично создан чтобы улучшить код и добавить новый функционал.
@MaxusR
@MaxusR Год назад
В случае while это уже выльется в бесконечный цикл с прерыванием по значению
@bomboklaa
@bomboklaa Год назад
Ого, сперва подумал, что вообще показалось, что ты попросил 600 лайков... Но это же действительно странно, что такой полезный канал так не популярен!
@zproger
@zproger Год назад
Будем исправляться =)
@cs_dequeue
@cs_dequeue Год назад
Спасибо за полезное видео! Но надеюсь люди догадываются, что в 7:28 не генератор, а просто list comprehension. синтаксис генаратора вместо [] использует (). Про print(num = 1) было интересно👍
@_Kruzo_
@_Kruzo_ Год назад
Спасибо за ответы на "основные вопросы", которые запутали все окончательно...
@zproger
@zproger Год назад
я старался =)
@archyt88
@archyt88 Год назад
Оператор для собеседований
@zproger
@zproger Год назад
Тоже верно)
@artembagachkov933
@artembagachkov933 Год назад
Крутая штука, главное предупреждать команду перед использованием, а когда пишешь сам то просто быть внимательным :)
@zproger
@zproger Год назад
=)
@trixion74
@trixion74 Год назад
Ожидание: что это за оператор Автор: сейчас я расскажу как его можно использовать p.s. прошла уже половина видео и я так и не понял
@zproger
@zproger Год назад
:0
@sailtogether3236
@sailtogether3236 Год назад
Очень много "воды", но многие говорят, что "воды" очень много, совсем много, что просто капец, ведь можно было без "воды", которой очень много, сказать лишь суть, которая без "воды".
@renatshaym
@renatshaym Год назад
Да за шо) Вот смотрю видео и так затягивает, что хочется смотреть ещё и ещё и те видео, которые выходят во всплывающих подсказках) И так уходит незаметно полдня) Автору спасибо за топовые контенты, которые он пилит для нас)
@archyt88
@archyt88 Год назад
Если есть функция которая выполняется два часа, наверное следует её переписать на С++ или по крайней мере на Cython
@zproger
@zproger Год назад
Это да, я чисто для простоты понимания сделал такой пример
@Vasile4e4ek
@Vasile4e4ek Год назад
Это полезно для codewars и leetcode, мне этого точно порой не хватало, но с другой стороны, если это необходимо, значит что-то изначально не так
@serafimgrubas2070
@serafimgrubas2070 Год назад
А если и с++ функция работает два часа, тут уже никуда не убежишь :)
@alexbobin3044
@alexbobin3044 Год назад
Тем временем функция class Supermatem: Def reshala(aboba, nanana, sss) time. sleep(7200000) return "сложна, очень сложна"
@pavelmakis
@pavelmakis Год назад
Вы знаете язык программирования Cpython? Не слышал о таком
@ZA_CCCP
@ZA_CCCP Год назад
Оо, спасибо, что увидел мой комментарий :]
@zproger
@zproger Год назад
Пожалуйста, я все крутые идеи реализовываю =)
@MrMolekula
@MrMolekula Год назад
3:35 - так пишут, чтобы по ошибке не написать в условии оператор присваивания. Про крайней мере меня так учили)
@jackmoral9127
@jackmoral9127 Год назад
Круто! Но больше всего мне стало интересно этот как вместо != зачеркнутое равно поставить, это какуюто комбинацию клавишь надо прожать или только в пайчарме актуально?
@alexbobtail4862
@alexbobtail4862 Год назад
Тоже интересно. Нашли, как это сделать?
@alexbobtail4862
@alexbobtail4862 Год назад
Попытался скопировать знак ≠. Не работает
@hock_2334
@hock_2334 Год назад
простите мне мою невежественность , а как вы сделали != "" перечеркнутым? Я только начинаю учится. Это только в пайчарме так можно?
@zproger
@zproger Год назад
IDE сама так форматирует для красоты =)
@MyKashiwa
@MyKashiwa Год назад
Спасибо! Очень хорошо и доходчиво
@zproger
@zproger Год назад
Рад что Вам понравилось
@auril1594
@auril1594 Год назад
спасибо, стало понятнее. пример бы наверное сделал через filter. хотя может через моржа и правильнее
@zproger
@zproger Год назад
Можно разные примеры делать =)
@dmitry-lz1ny
@dmitry-lz1ny Год назад
Сам изучаю питон 3 недели и случайно узнал моржевом операторе. Тема крутая, но мне пока очень трудно найти правильное использование.
@zproger
@zproger Год назад
Думаю ещё придет время =)
@user-xf7ue9vj4g
@user-xf7ue9vj4g Год назад
Спасибо Вам, очень понятно и лаконично👍
@zproger
@zproger Год назад
Благодарю! Буду стараться и дальше =)
@andreykuznetsov8096
@andreykuznetsov8096 Год назад
Зачем ты врёшь? И зачем автор это лайкнул? Я просмотрел уже 8 минут и особенно мой мозг взорвался на примере с if, потому что я не могу понять, зачем это нужно
@user-og6es2ht4v
@user-og6es2ht4v Год назад
насчёт понятно спорный момент
@user-yk2zc8vy6u
@user-yk2zc8vy6u Год назад
Спасибо за инфу) Чисто сахар, чтобы писать в меньшее количество строк)
@zproger
@zproger Год назад
Ага) Но сахар достаточно опасный в некоторых случаях =)
@trixion74
@trixion74 Год назад
я сначала подумал это Turbo Pascal
@zproger
@zproger Год назад
тьфу тьфу тьфу
@slavakonstantinov1531
@slavakonstantinov1531 Год назад
Огромное спасибо. Это было очень интересно и познавательно
@zproger
@zproger Год назад
Рад что принес пользу =)
@user-eo7mv5yc2x
@user-eo7mv5yc2x 11 месяцев назад
это конечно здорово, но я видел две двойных рекламы и получил очевидный ответ в конце. короче, спасибо кэп, лай не ставил
@zproger
@zproger 10 месяцев назад
Я вообще не понимаю какую рекламу вы здесь увидели, если её тут нет
@focsvin
@focsvin 11 месяцев назад
Доброе время суток. Я что-то не понимаю. Почему в питоне нельзя писать так f_data = [y for x in data if(y = test(x)) != 4]. prtint() просто нельзя сделать присвоение в рандомно переменную. Хотя в чем тут проблема я честного говоря не понимаю. В том же C# это можно сделать. А тут то что не так ? По идее просто происходить присвоение значения. А потом эта переменная проверяется в условии.
@eagold
@eagold Год назад
но кстати этого оператора мне часто не хватало, даже подумать не мог что он есть ещё и с версии 3.8
@zproger
@zproger Год назад
Пайтон не перестает удивлять :)
@luispakvard5681
@luispakvard5681 Год назад
А как взять записать ресурсы с одного екзешника другой я знаю что есть секция .rsrc реально ли ее взять с 1го файла и переписать в 2й екзешник что бы у него были там иконка, манифест , версия такие как у 1го файла и что б он работал как раньше?
@zproger
@zproger Год назад
Реально, но я не знаю как это сделать в Python, потому что тут всё оборачивается в рантайм, и там сложно найти какие-то ресурсы
@Dmytro-Tsymbaliuk
@Dmytro-Tsymbaliuk Год назад
Раз речь про .exe, то речь не о питоне, либо про питон, но с нестандартным транслятором, где полученный результат будет работать даже если удалить его из системы скопировать в другой то действительно можно, только смысл, если это никакого положительного результата не даст? Это будут тупо неиспользуемые данные
@bmx666bmx666
@bmx666bmx666 Год назад
полезная вещь для изоляции переменных в блоках как условие или цикл. Что-то наподобие лямба функций, аргументы нужны лишь временно и не нужно дублировать и везде расставлять.
@robertobokarev439
@robertobokarev439 Год назад
Пригодится во всяких генераторах, к примеру каждый вызов увеличивает возвращаемое число на 1
@scren2010
@scren2010 Год назад
Отличное видео, спасибо!
@zproger
@zproger Год назад
=)
@koolmax79
@koolmax79 Год назад
Те кто на C/C++ пишут не путают = и ==. И я бы никогда так как предлагается не писал, некрасиво, лучше сущность сравнивать с чем то, а не наоборот. Простой пример if(men.age == 5) //если человеку 5 лет if(5 == men.age) //если 5 человеку лет. Вы серьезно так думаете и говорите? То что касается питона, хорошие примеры, подробно и понятно
@revoluxe
@revoluxe Год назад
Супер, очень полезная вещь!
@zproger
@zproger Год назад
Благодарю
@Anonymous00754
@Anonymous00754 День назад
для any пример надо было с еще # добавить что типо любой с # столько сколько будет стока и принтанет... ну так для просто ясности а так да спасибо класная штука все помню как то парился как в j for j in list чето присвоить )) потом друг скинул новое в питоне ссылку на это и я прям порадовался ) но так и не применял потом ))) ахахаз
@zakirovio
@zakirovio Год назад
Сначала перепутал с ключ значением в генераторе словаря {i: = value for i in range(n)}, оказалось немного другое 👍
@segeus
@segeus Год назад
Если бы в print() был аргумент **kwargs и метод работы с ним, то он прекрасно бы кушал print(x = 1).
@JarBinks
@JarBinks Год назад
Спасибо! Видео оказалось очень полезным!
@zproger
@zproger Год назад
=)
@user-og6es2ht4v
@user-og6es2ht4v Год назад
а главное понятным
@sambo-mambo
@sambo-mambo Год назад
Информативно. Круто мне понравилось.
@zproger
@zproger Год назад
Благодарю!
@donfedor007
@donfedor007 Год назад
Добрый день! Почему у Вас не равно записано не != , а перечёркнутое равно? И как так делать?
@luispakvard5681
@luispakvard5681 Год назад
Интересно на питоне инъекции шел кода и в частности Shellcode Reflective DLL Injection
@zproger
@zproger Год назад
Интересно, но ютубу такое не понравится
@IvanIvanov-dh3sg
@IvanIvanov-dh3sg Год назад
Спасибо автору, видео супер=) и если можно не ускоряйте видео сами, кому надо могут это сделать средствами ютуба, а замедление вашего видео звучит ужасно(((
@zproger
@zproger Год назад
В каком плане не ускорять видео? Именно моменты где я пишу код? После ответа попытаюсь исправить, чтоб было комфортней смотреть
@IvanIvanov-dh3sg
@IvanIvanov-dh3sg Год назад
@@zproger нет, код норм. Просто я речь вашу не успеваю осмысливать, может я тормоз=(. Привык к темпу Немчинского. Для меня вы рассказываете слишком быстро. На 0.75 поставил скорость и стало норм. Возможно мне нужно периодически останавливать воспроизведение и думать.
@Bluespyy
@Bluespyy Год назад
@@IvanIvanov-dh3sg мне наоборот кажется что автор медленно говорит. Ставлю 1.25 чтобы не уснуть
@zproger
@zproger Год назад
Я о том же, посмотрите мои видео раньше, они были в 3 раза медленнее, там дольше 20 секунд никто не смотрел) Если буду снимать в стиле Немчинского, то видео будут юзать для того чтобы заснуть, а не выучить Python :)
@luckytima2315
@luckytima2315 Год назад
Прикольно )) Как вы сидите на зорине, посидел 3 дня, меня убила дерганая анимация и это на версий за 39 долларов ;p
@zproger
@zproger Год назад
Не сижу, это чисто для видео)
@luckytima2315
@luckytima2315 Год назад
@@zproger а что у вас за система на основной машине? я стараюсь вам подражать и сидел на минте как вы, потом увидел zorin решил поставить, но эта анимация меня просто убила (
@zproger
@zproger Год назад
Мне Manjaro Gnome нравится =)
@luckytima2315
@luckytima2315 Год назад
@@zproger бегу ставить :p
@seregeyvladimirov7065
@seregeyvladimirov7065 2 месяца назад
Часто использую этот оператор именно в if statement, больше нигде
@pro100denchik
@pro100denchik Год назад
Классно объяснил оператор моржа, но меня смутил знак неравенства ≠, интерпретатор пайтон это понимает? и что надо сделать, чтобы это работало? почему не стандартный знак != неравенства?
@fushibuzuka7463
@fushibuzuka7463 Год назад
сам глаза округлил..правда не ас в питоне.
@zproger
@zproger Год назад
Это так редактор кода форматирует) А на деле там обычный !=
@handal3403
@handal3403 Год назад
Скажи пожалуйста как называется твоя тема pycharm?
@zproger
@zproger Год назад
Dracula
@Ramzes200986
@Ramzes200986 Год назад
Удобно, вызвал один раз функцию и проверил и присвоил))))
@jackmetropolitan7845
@jackmetropolitan7845 Год назад
Ууу! До 8:30 думал - "что за ерунда", а потом как понял! Спасибо!
@zproger
@zproger Год назад
Это точно)
@FrolFrolow
@FrolFrolow Год назад
Классный ролик, все понятно, пусть я почти и не знаю информатику и питон в частности(((
@respise
@respise 11 месяцев назад
очень интересный акцент, никогда такого не слышал.
@zproger
@zproger 10 месяцев назад
;)
@user-gt3lm9ny1e
@user-gt3lm9ny1e Год назад
Спасибо за видео!
@Ramzes200986
@Ramzes200986 Год назад
я вот не понял num вообще не имеет значения и тут получается хочешь присвоить ему 1?
@dotend7915
@dotend7915 Год назад
Дядь, как у тебя неравно записалось как перечеркнутое равно? Оно же как то так записывается: !=
@zproger
@zproger Год назад
Это так форматирует IDE для красоты =)
@MrNagios
@MrNagios Год назад
отлично, спасибо за видео
@zproger
@zproger Год назад
Спасибо за поддержку!
@Dmytro-Tsymbaliuk
@Dmytro-Tsymbaliuk Год назад
Python дошел до стандарта С++11 с инициализацией переменных, получается
@zproger
@zproger Год назад
:D
@user-gh2sq4ps4o
@user-gh2sq4ps4o Год назад
8:48 вроде python это оптимизирует для одинаковых значений
@maxdemon4778
@maxdemon4778 Год назад
Спасибо Автор) Не знал про это(
@zproger
@zproger Год назад
Рад что было полезно!
@eagold
@eagold Год назад
что это за странный оператор не равно? 06:44
@zproger
@zproger Год назад
Это так IDE форматирует =)
@eagold
@eagold Год назад
@@zproger а, фух🙈
@user-br2mt5bj6z
@user-br2mt5bj6z Год назад
@@zproger А не подскажите, как называется плагин на такое форматирование? Очень понравилось, хотелось бы себе поставить
@dzolud9338
@dzolud9338 Год назад
Спасибо большое, хорошее видео
@zproger
@zproger Год назад
Рад что понравилось!
@SkveerBoy
@SkveerBoy Год назад
Годно Годно )
@zproger
@zproger Год назад
Благодарю =)
@nikitawhite4516
@nikitawhite4516 Год назад
Тема для пайшарма очень симпатичная. Как называется?
@zproger
@zproger Год назад
Github Dark
@nikitawhite4516
@nikitawhite4516 Год назад
@@zproger спасибо
@waserdenser003
@waserdenser003 Год назад
Только узнал, что питон написан на C...
@zproger
@zproger Год назад
=)
@user-qd5od4fi5j
@user-qd5od4fi5j Год назад
Очень крутое видео! Хотелось бы больше видео по селениуму. Особенно разбор оператора if с driver.find_element
@zproger
@zproger Год назад
Постараюсь что-то придумать =)
@figaro2440
@figaro2440 Год назад
А что там вообще рассматривать, если заданный элемент нашелся if срабатывает, это обычный if, что вы от него еще хотите?
@axil3910
@axil3910 Год назад
С := понятно, а как ты символ зачеркнутого равно написал? Что это такое вообще? != ?
@zproger
@zproger Год назад
Это IDE так форматирует =)
@lochinlochinov8975
@lochinlochinov8975 Год назад
А почему у тебя на 6:30 вместо != Поставлено ≠ ?
@zproger
@zproger Год назад
Это редактор кода так делает для красоты)
@lochinlochinov8975
@lochinlochinov8975 Год назад
@@zproger понятно
@asmrasmr327
@asmrasmr327 Год назад
как использовать такую запись ≠ вместо != ?
@zproger
@zproger Год назад
Никак, это редактор кода форматирует :)
@vdimitrioglo
@vdimitrioglo Год назад
material theme установи
@user-br5vb8kx5g
@user-br5vb8kx5g Год назад
это моржовый оператор, больше используется для написания кода в строчку
@elnurbda
@elnurbda Год назад
Большое спасибо за видеоролик!
@zproger
@zproger Год назад
Рад что понравилось
@arsenskavin130
@arsenskavin130 Год назад
Генераторы делаются в круглых скобках.
@zproger
@zproger Год назад
да, речь о других генераторах, не о технологии из языка
@arsenskavin130
@arsenskavin130 Год назад
@@zproger не знаю как там в русскоязычной терминологии, но впервые встречаю что лист компрехеншены называют генераторами, генераторы это принципиально другая вещь.
@helish_88
@helish_88 Год назад
этому оператору уже два года python 3.8 Release Date: Oct. 14, 2019
@zproger
@zproger Год назад
Ну так никто и не говорил что он новый =) Мало кто снимает об этом операторе и хотелось что-то интересное рассказать
@helish_88
@helish_88 Год назад
@@zproger 6 секунда, вы говорите новый оператор. разрешите дое*** :)))
@zproger
@zproger Год назад
Упс, что-то не то сказал значит
@izergaer
@izergaer Год назад
Насколько я понял, это аналог оператора = из C
@zproger
@zproger Год назад
Можно сказать и так, но walrus operator более функциональный
@mrLumen2
@mrLumen2 Год назад
Python медленно превращается в Pascal.
@zproger
@zproger Год назад
возможно
@mauzeroffc7394
@mauzeroffc7394 Год назад
а какая у тебя тема в PyCharm?
@zproger
@zproger Год назад
Material UI - Github Dark
@mauzeroffc7394
@mauzeroffc7394 Год назад
@@zproger спс
@user-gy9lb9ji5f
@user-gy9lb9ji5f Год назад
Аж на 12 мин ролик о том, что объясняется одним предложением . Моржовый (walrus) оператор, появившийся в Python 3.8, дает возможность решить сразу две задачи: присвоить значение переменной и вернуть это значение, поэтому порой можно написать код короче и сделать его более читаемым, и он может быть даже более эффективным с точки зрения вычислений.
@girfeo9338
@girfeo9338 Год назад
Спасибо, одни из лучших среди лучших
@zproger
@zproger Год назад
Спасибо
@VsevolodT
@VsevolodT 4 месяца назад
Ушел вы бан. Ходить по кругу и ассказывать 3 минуты, зачем что-то сделано, это талант, конечно.
@ostrov11
@ostrov11 Год назад
... хоспадеблять ... если не знать школьных основ информатики, программирование воспринимается на грани с магией ((( вайтивайти из слесарей дворников продавецпятерочки ((
@zproger
@zproger Год назад
xDD
@ostrov11
@ostrov11 Год назад
@@zproger ... сорян, на пике Балмера был походу, не помню что хотел сказать этим
@IIIsteelfighterIII
@IIIsteelfighterIII Год назад
Три минуты говорить "почему же мы делаем так, хотя могли бы сделать вот так?" - это искусство. Фулл видео ниасилил.
@Alcoholdehydrogenas
@Alcoholdehydrogenas 11 месяцев назад
Из какого Го?! Я узнал про этот оператор из Борланд Паскаль!
@Shurik1236
@Shurik1236 Год назад
Классика Си: (c = getchar()) != EOF.
@zproger
@zproger Год назад
:D
@vladimirkulakov6126
@vladimirkulakov6126 Год назад
Это в новой версии python добавили?
@zproger
@zproger Год назад
Да
@TheBogdanLisichenko
@TheBogdanLisichenko Год назад
Если много писать на питоне - можно заработать синтаксический диабет
@zproger
@zproger Год назад
100% xD
@cliff_44
@cliff_44 5 месяцев назад
в этом видео так много воды, что мне комнату залило, ну спасибо конечно
@zproger
@zproger 5 месяцев назад
Зато будет что пить :D
@FoxSlyme
@FoxSlyme Год назад
Очень затянуто.
@user-gz4fx4sv6d
@user-gz4fx4sv6d Год назад
Спасибо большое
@zproger
@zproger Год назад
Рад что понравилось
@GazMyas_Champion
@GazMyas_Champion Год назад
2:50 Язык программирования написан на языке программирования... Что блеатььь?
@zproger
@zproger Год назад
Ну да, а как иначе)
Далее
Sprinting with More and More Money
00:29
Просмотров 60 млн