Принципиальная разница между := и = в том, что первый оператор определяет выражение, а второй - инструкцию. Поэтому как и должно при использовании выражений возвращается результат обработки выражения. С инструкциями такое не прокатывает, потому что инструкции не могут никаких результатов возвращать (это не их роль). "Проблемка" в Си (и многих наследниках) была в том, что там оператор = являл собой и инструкцию и выражение в зависимости от контекста использования. 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-м.
@@grigoriikuchumov2277 по-моему код, в котором есть неоднозначности стоит признать говном. Поэтому даже зная приоритет выполнения инструкций/выражений, всё-равно считается хорошим тоном ставить скобки. В конце концов, синтаксический сахар должен быть сладким, а не превращать одностроку в горький ребус. Поэтому наверное и цикл FOR будет жить вечно в кодерской среде - он прост и понятен как два пальца.
Определение назначения фактически отсутствует, сплошные иллюстрации. Наглядность - это замечательно, но строгость описания не менее важна. Я лично услышал в данном ролике что-то вроде: «Если мы напишем «print(x:=1)», то значение 1 запишется в x, то есть это - всё равно, что написать «print(1)»...» - как-то невнятно. Должно же, как мне кажется, описание звучать как-то так: «Данный оператор присваивает переменной значение и возвращает его», - и уже дальше можно пускать примеры, так будет и строго, и наглядно.
@@rad9587 думаю многие если услышат такое объяснение просто скажут "зачем? можно же просто просто сначала присвоить переменной, а потом использовать переменную"
Честно говоря, странно, что обычное присваивание не возвращает присвоенное значение, в отличие от Си, не смотря на то, что Питон на Си и написан. Хотя цепное присваивание `a = b = c` в Питоне есть
На 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) Отличие этих двух записей очень большое. Так что правильнее будет сказать, что данная запись генерирует список, но генератором не является
ZProger, пожалуйста, давайте больше конкретики в видео, не обходитесь одними иллюстрациями. Без четкого и ясного определения функции намного сложнее понимать ее применение. Пожалуйста, уделите больше внимания разбору примеров
Да за шо) Вот смотрю видео и так затягивает, что хочется смотреть ещё и ещё и те видео, которые выходят во всплывающих подсказках) И так уходит незаметно полдня) Автору спасибо за топовые контенты, которые он пилит для нас)
вот, сначала нарушают основные принципы программирования - плодят сущности, а потом вынуждены плодить их еще больше из-за именованных аргументов ))))) а как удобно в JS паровозиком присваивать: a=b=1;if(x=a==b)alert('x='+x) счастье порой так близко...
Очень много "воды", но многие говорят, что "воды" очень много, совсем много, что просто капец, ведь можно было без "воды", которой очень много, сказать лишь суть, которая без "воды".
Те кто на C/C++ пишут не путают = и ==. И я бы никогда так как предлагается не писал, некрасиво, лучше сущность сравнивать с чем то, а не наоборот. Простой пример if(men.age == 5) //если человеку 5 лет if(5 == men.age) //если 5 человеку лет. Вы серьезно так думаете и говорите? То что касается питона, хорошие примеры, подробно и понятно
... хоспадеблять ... если не знать школьных основ информатики, программирование воспринимается на грани с магией ((( вайтивайти из слесарей дворников продавецпятерочки ((
Аж на 12 мин ролик о том, что объясняется одним предложением . Моржовый (walrus) оператор, появившийся в Python 3.8, дает возможность решить сразу две задачи: присвоить значение переменной и вернуть это значение, поэтому порой можно написать код короче и сделать его более читаемым, и он может быть даже более эффективным с точки зрения вычислений.
@@zproger не знаю как там в русскоязычной терминологии, но впервые встречаю что лист компрехеншены называют генераторами, генераторы это принципиально другая вещь.
Спасибо автору, видео супер=) и если можно не ускоряйте видео сами, кому надо могут это сделать средствами ютуба, а замедление вашего видео звучит ужасно(((
@@zproger нет, код норм. Просто я речь вашу не успеваю осмысливать, может я тормоз=(. Привык к темпу Немчинского. Для меня вы рассказываете слишком быстро. На 0.75 поставил скорость и стало норм. Возможно мне нужно периодически останавливать воспроизведение и думать.
Я о том же, посмотрите мои видео раньше, они были в 3 раза медленнее, там дольше 20 секунд никто не смотрел) Если буду снимать в стиле Немчинского, то видео будут юзать для того чтобы заснуть, а не выучить Python :)
Круто! Но больше всего мне стало интересно этот как вместо != зачеркнутое равно поставить, это какуюто комбинацию клавишь надо прожать или только в пайчарме актуально?
Зачем ты врёшь? И зачем автор это лайкнул? Я просмотрел уже 8 минут и особенно мой мозг взорвался на примере с if, потому что я не могу понять, зачем это нужно
Классно объяснил оператор моржа, но меня смутил знак неравенства ≠, интерпретатор пайтон это понимает? и что надо сделать, чтобы это работало? почему не стандартный знак != неравенства?
для any пример надо было с еще # добавить что типо любой с # столько сколько будет стока и принтанет... ну так для просто ясности а так да спасибо класная штука все помню как то парился как в j for j in list чето присвоить )) потом друг скинул новое в питоне ссылку на это и я прям порадовался ) но так и не применял потом ))) ахахаз
полезная вещь для изоляции переменных в блоках как условие или цикл. Что-то наподобие лямба функций, аргументы нужны лишь временно и не нужно дублировать и везде расставлять.
А можно все что до 6:20 просто выбросить было? Что там было вообще рассказано интересного? Миллион раз была сказана фраза "так зачем же этот оператор"? Это что, вода чтобы ролик был длиннее 10 минут потому что так надо ютубу? Возможно моя проблема в том, что я давно знаю этот оператор и ролик мне скинул друг, включил я его ради любопытства, послушать что расскажут. Но слушать это просто невозможно, на 6:30 я наконец услышал начало объяснения применения оператора и офигел от количества воды в ролике. Воду льете профессионально ua-cam.com/video/gdgHaIoAP14/v-deo.html
Смешное видео) Старался не лить воду, просто иногда приходится повторяться и наводить примеры, чтобы это лучше поняли. Раньше когда так не делал люди потом жаловались что слишком коротко и поверхностно) Так что всем не угодишь
Доброе время суток. Я что-то не понимаю. Почему в питоне нельзя писать так f_data = [y for x in data if(y = test(x)) != 4]. prtint() просто нельзя сделать присвоение в рандомно переменную. Хотя в чем тут проблема я честного говоря не понимаю. В том же C# это можно сделать. А тут то что не так ? По идее просто происходить присвоение значения. А потом эта переменная проверяется в условии.
А как взять записать ресурсы с одного екзешника другой я знаю что есть секция .rsrc реально ли ее взять с 1го файла и переписать в 2й екзешник что бы у него были там иконка, манифест , версия такие как у 1го файла и что б он работал как раньше?
Раз речь про .exe, то речь не о питоне, либо про питон, но с нестандартным транслятором, где полученный результат будет работать даже если удалить его из системы скопировать в другой то действительно можно, только смысл, если это никакого положительного результата не даст? Это будут тупо неиспользуемые данные
@@zproger контекст этого оператора в пару строк укладывается, если человеку нужно 15 минут чтобы понять как он работает , то у меня для него плохие новости
Какой же душный видос. Ничего ре понятно потоиу что оооооооооооочень долго. Риторический вопрос о том, почему же стоит использовать этот новый оператор был задан наверное раз 10 за ролик
Зря вы так, автор молодец и очень доходчиво объяснял. Возможно вам поможет просмотр повторный но на меньшей скорости воспроизведения, если не знаете, то на ютуб есть такая функция замедлить или ускорить воспроизведение. А конкретно это я смотрел на 0.75, так как подача материала была слишком быстрой для меня.
Ты минуту рассказываешь о том, что будешь рассказывать сейчас про этот оператор (никто бы конечно по названию и привью бы не понял о чем ролик...), потом пол видео повторяешь сам себя... Сценарий кролику? Не, не слышал.
Пример с двухчасовой функцией реально дал понимание нужности этого оператора. Остальные примеры тяжело понять, в особенности со строкой startswith поскольку там генератор в любом случае пройдётся по всему списку
Более подробно в документации описали, оператор хоть и достаточно простой по своей логике, но примеров кода очень много и не всегда удается понять с первого раза.
@@ЙенФенФыр ну, такой себе сахар, с огромным содержанием горчицы. Операции присвоения и возврата гораздо интуитивно понятнее. Когда перед тем, как съесть сахар, надо подумать пару дней, явно лучше съесть проверенное несладкое за 5 минут - иначе с голоду помереть можно.
не видео, а хрень. семь минут автор спрашивает и переспрашивает сам себя, зачем же нужен другой оператор, так и не даёт ответа. скажи ты хоть что-нибудь, потом показывай примеры. в чём отличие то? на седьмой минуте выматерился и дальше смотреть не стал.
0:33 - ответил для чего нужен оператор 1:00 - уже пошли примеры 1:13 - логика оператора 1:30 - пример 2 2:00 - пример 3 3:20 - логика оператора на примере языка Си 4:00 - о синтаксическом сахаре Дальше не вижу смысла добавлять тайм-коды. Примеры тут каждые 10 секунд и пользы огромное количество, просто когда рассматривается какая-то технология, как правило она вместе с собой подтягивает и другие технологии, которые тоже нужно рассмотреть. Если бы я просто записал видео на 10 секунд где сказал что "оператор моржа нужен чтобы присвоить значение в переменную", кто бы понял его смысл? Когда новичкам рассказывают о переменных, им не говорят на 10 секунд что в переменную можно положить значение и всё, как правило им минут на 15 показывают примеры и разные реализации.
Если кто знает интересные фишки с этим оператором,
не забудьте поделиться в комментариях =)
Принципиальная разница между := и = в том, что первый оператор определяет выражение, а второй - инструкцию. Поэтому как и должно при использовании выражений возвращается результат обработки выражения. С инструкциями такое не прокатывает, потому что инструкции не могут никаких результатов возвращать (это не их роль).
"Проблемка" в Си (и многих наследниках) была в том, что там оператор = являл собой и инструкцию и выражение в зависимости от контекста использования.
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-м.
Классное видео, очень полезное спасибо :)
ну как же, он позволяет оставлять рожицы в комментариях к программе: # :=)
@@grigoriikuchumov2277 по-моему код, в котором есть неоднозначности стоит признать говном. Поэтому даже зная приоритет выполнения инструкций/выражений, всё-равно считается хорошим тоном ставить скобки. В конце концов, синтаксический сахар должен быть сладким, а не превращать одностроку в горький ребус. Поэтому наверное и цикл FOR будет жить вечно в кодерской среде - он прост и понятен как два пальца.
Определение назначения фактически отсутствует, сплошные иллюстрации. Наглядность - это замечательно, но строгость описания не менее важна.
Я лично услышал в данном ролике что-то вроде: «Если мы напишем «print(x:=1)», то значение 1 запишется в x, то есть это - всё равно, что написать «print(1)»...» - как-то невнятно. Должно же, как мне кажется, описание звучать как-то так: «Данный оператор присваивает переменной значение и возвращает его», - и уже дальше можно пускать примеры, так будет и строго, и наглядно.
согласен, видно что автор то сам понимает что говорит, а вот мне непонятно, хотя я уже второй год работаю
Всё обобщается фразой:
Оператор сохраняет значение в переменную и одновременно его возвращает
Да, но если я так скажу и сразу закрою видео, никто не поймет ничего)
@@zproger что не понятного?
@@rad9587 думаю многие если услышат такое объяснение просто скажут "зачем? можно же просто просто сначала присвоить переменной, а потом использовать переменную"
@@qvar7449 мне лично уже с превьюшки было понятно, что делает этот оператор, хотя программирую на расте
Честно говоря, странно, что обычное присваивание не возвращает присвоенное значение, в отличие от Си, не смотря на то, что Питон на Си и написан. Хотя цепное присваивание `a = b = c` в Питоне есть
На 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)
Отличие этих двух записей очень большое.
Так что правильнее будет сказать, что данная запись генерирует список, но генератором не является
Очень много повторений, можно было сократить видео раза в 2
Спасибо, учту в следующих видео и постараюсь не повторяться
По поводу примера while (value:= input()) != "" можно же красиво упростить:
while name := input("Name:"):
print(name)
тот случай когда быстрее прочитать чем посмотреть ролик до конца ) но спасибо за наводку )
Пожалуйста =)
ZProger, пожалуйста, давайте больше конкретики в видео, не обходитесь одними иллюстрациями. Без четкого и ясного определения функции намного сложнее понимать ее применение. Пожалуйста, уделите больше внимания разбору примеров
Очень полезная информация для новичка, все подробно и просто розложено. Спасибо что делаете подобные видео, ждем другие:)
Благодарю!
Спасибо за ответы на "основные вопросы", которые запутали все окончательно...
я старался =)
я правильно понял, что он работает как и обычное = ,но вмести с тем возвращает присвоенное значение.
Да
Если язык С влияет на Питон - возникает обоснованный вопрос о целесообразности существования этого самого Питона. лол.
Оператор для собеседований
Тоже верно)
Ого, сперва подумал, что вообще показалось, что ты попросил 600 лайков... Но это же действительно странно, что такой полезный канал так не популярен!
Будем исправляться =)
Да за шо) Вот смотрю видео и так затягивает, что хочется смотреть ещё и ещё и те видео, которые выходят во всплывающих подсказках) И так уходит незаметно полдня) Автору спасибо за топовые контенты, которые он пилит для нас)
вот, сначала нарушают основные принципы программирования - плодят сущности, а потом вынуждены плодить их еще больше из-за именованных аргументов ))))) а как удобно в JS паровозиком присваивать: a=b=1;if(x=a==b)alert('x='+x) счастье порой так близко...
Ожидание: что это за оператор
Автор: сейчас я расскажу как его можно использовать
p.s. прошла уже половина видео и я так и не понял
:0
Спасибо за инфу)
Чисто сахар, чтобы писать в меньшее количество строк)
Ага) Но сахар достаточно опасный в некоторых случаях =)
Спасибо, одни из лучших среди лучших
Спасибо
Очень много "воды", но многие говорят, что "воды" очень много, совсем много, что просто капец, ведь можно было без "воды", которой очень много, сказать лишь суть, которая без "воды".
3:35 - так пишут, чтобы по ошибке не написать в условии оператор присваивания. Про крайней мере меня так учили)
спасибо, стало понятнее. пример бы наверное сделал через filter. хотя может через моржа и правильнее
Можно разные примеры делать =)
Python медленно превращается в Pascal.
возможно
простите мне мою невежественность , а как вы сделали != "" перечеркнутым? Я только начинаю учится. Это только в пайчарме так можно?
IDE сама так форматирует для красоты =)
очень интересный акцент, никогда такого не слышал.
;)
Python дошел до стандарта С++11 с инициализацией переменных, получается
:D
Те кто на C/C++ пишут не путают = и ==.
И я бы никогда так как предлагается не писал, некрасиво, лучше сущность сравнивать с чем то, а не наоборот.
Простой пример
if(men.age == 5) //если человеку 5 лет
if(5 == men.age) //если 5 человеку лет. Вы серьезно так думаете и говорите?
То что касается питона, хорошие примеры, подробно и понятно
Классный ролик, все понятно, пусть я почти и не знаю информатику и питон в частности(((
... хоспадеблять ... если не знать школьных основ информатики, программирование воспринимается на грани с магией ((( вайтивайти из слесарей дворников продавецпятерочки ((
xDD
@@zproger ... сорян, на пике Балмера был походу, не помню что хотел сказать этим
но кстати этого оператора мне часто не хватало, даже подумать не мог что он есть ещё и с версии 3.8
Пайтон не перестает удивлять :)
Если есть функция которая выполняется два часа, наверное следует её переписать на С++ или по крайней мере на Cython
Это да, я чисто для простоты понимания сделал такой пример
Это полезно для codewars и leetcode, мне этого точно порой не хватало, но с другой стороны, если это необходимо, значит что-то изначально не так
А если и с++ функция работает два часа, тут уже никуда не убежишь :)
Тем временем функция
class Supermatem:
Def reshala(aboba, nanana, sss)
time. sleep(7200000)
return "сложна, очень сложна"
Вы знаете язык программирования Cpython? Не слышал о таком
Огромное спасибо. Это было очень интересно и познавательно
Рад что принес пользу =)
Интересно на питоне инъекции шел кода и в частности Shellcode Reflective DLL Injection
Интересно, но ютубу такое не понравится
Аж на 12 мин ролик о том, что объясняется одним предложением . Моржовый (walrus) оператор, появившийся в Python 3.8, дает возможность решить сразу две задачи: присвоить значение переменной и вернуть это значение, поэтому порой можно написать код короче и сделать его более читаемым, и он может быть даже более эффективным с точки зрения вычислений.
Генераторы делаются в круглых скобках.
да, речь о других генераторах, не о технологии из языка
@@zproger не знаю как там в русскоязычной терминологии, но впервые встречаю что лист компрехеншены называют генераторами, генераторы это принципиально другая вещь.
Насколько я понял, это аналог оператора = из C
Можно сказать и так, но walrus operator более функциональный
Спасибо автору, видео супер=) и если можно не ускоряйте видео сами, кому надо могут это сделать средствами ютуба, а замедление вашего видео звучит ужасно(((
В каком плане не ускорять видео? Именно моменты где я пишу код?
После ответа попытаюсь исправить, чтоб было комфортней смотреть
@@zproger нет, код норм. Просто я речь вашу не успеваю осмысливать, может я тормоз=(. Привык к темпу Немчинского. Для меня вы рассказываете слишком быстро. На 0.75 поставил скорость и стало норм. Возможно мне нужно периодически останавливать воспроизведение и думать.
@@IvanIvanov-dh3sg мне наоборот кажется что автор медленно говорит. Ставлю 1.25 чтобы не уснуть
Я о том же, посмотрите мои видео раньше, они были в 3 раза медленнее, там дольше 20 секунд никто не смотрел) Если буду снимать в стиле Немчинского, то видео будут юзать для того чтобы заснуть, а не выучить Python :)
Круто! Но больше всего мне стало интересно этот как вместо != зачеркнутое равно поставить, это какуюто комбинацию клавишь надо прожать или только в пайчарме актуально?
Тоже интересно. Нашли, как это сделать?
Попытался скопировать знак ≠. Не работает
Информативно. Круто мне понравилось.
Благодарю!
Спасибо Вам, очень понятно и лаконично👍
Благодарю! Буду стараться и дальше =)
Зачем ты врёшь? И зачем автор это лайкнул? Я просмотрел уже 8 минут и особенно мой мозг взорвался на примере с if, потому что я не могу понять, зачем это нужно
насчёт понятно спорный момент
этому оператору уже два года
python 3.8 Release Date: Oct. 14, 2019
Ну так никто и не говорил что он новый =)
Мало кто снимает об этом операторе и хотелось что-то интересное рассказать
@@zproger 6 секунда, вы говорите новый оператор. разрешите дое*** :)))
Упс, что-то не то сказал значит
Классно объяснил оператор моржа, но меня смутил знак неравенства ≠, интерпретатор пайтон это понимает? и что надо сделать, чтобы это работало? почему не стандартный знак != неравенства?
сам глаза округлил..правда не ас в питоне.
Это так редактор кода форматирует) А на деле там обычный !=
для any пример надо было с еще # добавить что типо любой с # столько сколько будет стока и принтанет... ну так для просто ясности
а так да спасибо класная штука все помню как то парился как в j for j in list чето присвоить )) потом друг скинул новое в питоне ссылку на это и я прям порадовался ) но так и не применял потом ))) ахахаз
Супер, очень полезная вещь!
Благодарю
это моржовый оператор, больше используется для написания кода в строчку
полезная вещь для изоляции переменных в блоках как условие или цикл. Что-то наподобие лямба функций, аргументы нужны лишь временно и не нужно дублировать и везде расставлять.
Ууу! До 8:30 думал - "что за ерунда", а потом как понял!
Спасибо!
Это точно)
Сначала перепутал с ключ значением в генераторе словаря {i: = value for i in range(n)}, оказалось немного другое 👍
Если много писать на питоне - можно заработать синтаксический диабет
100% xD
Тема для пайшарма очень симпатичная. Как называется?
Github Dark
@@zproger спасибо
Скажи пожалуйста как называется твоя тема pycharm?
Dracula
Отличное видео, спасибо!
=)
2:50 Язык программирования написан на языке программирования... Что блеатььь?
Ну да, а как иначе)
8:48 вроде python это оптимизирует для одинаковых значений
По существу ничего так и не сказал. Известно что из-за одной щеки за другую 12 минут перекладывал.
Что Вы хотели бы увидеть по существу? Примеров в видео большое количество
А можно все что до 6:20 просто выбросить было? Что там было вообще рассказано интересного? Миллион раз была сказана фраза "так зачем же этот оператор"? Это что, вода чтобы ролик был длиннее 10 минут потому что так надо ютубу? Возможно моя проблема в том, что я давно знаю этот оператор и ролик мне скинул друг, включил я его ради любопытства, послушать что расскажут. Но слушать это просто невозможно, на 6:30 я наконец услышал начало объяснения применения оператора и офигел от количества воды в ролике. Воду льете профессионально ua-cam.com/video/gdgHaIoAP14/v-deo.html
Смешное видео) Старался не лить воду, просто иногда приходится повторяться и наводить примеры, чтобы это лучше поняли. Раньше когда так не делал люди потом жаловались что слишком коротко и поверхностно) Так что всем не угодишь
Дядь, как у тебя неравно записалось как перечеркнутое равно? Оно же как то так записывается: !=
Это так форматирует IDE для красоты =)
С := понятно, а как ты символ зачеркнутого равно написал? Что это такое вообще? != ?
Это IDE так форматирует =)
отлично, спасибо за видео
Спасибо за поддержку!
Доброе время суток. Я что-то не понимаю. Почему в питоне нельзя писать так f_data = [y for x in data if(y = test(x)) != 4].
prtint() просто нельзя сделать присвоение в рандомно переменную. Хотя в чем тут проблема я честного говоря не понимаю. В том же C# это можно сделать. А тут то что не так ? По идее просто происходить присвоение значения. А потом эта переменная проверяется в условии.
в этом видео так много воды, что мне комнату залило, ну спасибо конечно
Зато будет что пить :D
А почему у тебя на 6:30 вместо != Поставлено ≠ ?
Это редактор кода так делает для красоты)
@@zproger понятно
все хорошо и отлично... но 2.44 минуты ждать обяснения... это очень душно.
я вот не понял num вообще не имеет значения и тут получается хочешь присвоить ему 1?
70% ролика ВОООООООООООДЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫ, как душно, просто пздц(
Ушел вы бан. Ходить по кругу и ассказывать 3 минуты, зачем что-то сделано, это талант, конечно.
Это в новой версии python добавили?
Да
Очень крутое видео! Хотелось бы больше видео по селениуму. Особенно разбор оператора if с driver.find_element
Постараюсь что-то придумать =)
А что там вообще рассматривать, если заданный элемент нашелся if срабатывает, это обычный if, что вы от него еще хотите?
а = б =1 - мы получим 2 ссылки на значение 1?
Годно Годно )
Благодарю =)
а почему у вас неравно так записывается?
Так форматирует IDE
спасибо очень полезно начинающему
Из какого Го?! Я узнал про этот оператор из Борланд Паскаль!
Спасибо большое
Рад что понравилось
что делает этот оператор " -> " в python
Это аннотация, на канале есть видео
@@zproger Спасибо
Ubuntu is my love
:)
А как взять записать ресурсы с одного екзешника другой я знаю что есть секция .rsrc реально ли ее взять с 1го файла и переписать в 2й екзешник что бы у него были там иконка, манифест , версия такие как у 1го файла и что б он работал как раньше?
Реально, но я не знаю как это сделать в Python, потому что тут всё оборачивается в рантайм, и там сложно найти какие-то ресурсы
Раз речь про .exe, то речь не о питоне, либо про питон, но с нестандартным транслятором, где полученный результат будет работать даже если удалить его из системы
скопировать в другой то действительно можно, только смысл, если это никакого положительного результата не даст? Это будут тупо неиспользуемые данные
Первые 5 минут только вопросы почему и зачем. Ответы начинаются с 5:15, а лучше с 7:15
Это не только вопросы почему и зачем, там есть важная информация, чтобы можно было понять где использовать оператор и т.д
Спасибо, а то 3 раза слушать "ЗАЧЕМ ЖЕ БЫЛ ДОБАВЛЕН ЭТОТ ОПЕРАТОР" уже надоело
@@mcclawdymcclawdy4197 И зря, потом контекст уловить не сможете, так как в начале предыстория была
@@zproger контекст этого оператора в пару строк укладывается, если человеку нужно 15 минут чтобы понять как он работает , то у меня для него плохие новости
Одна тавталогия, 3 мин выдерлжал и выкл)
Напиши пожалуйста коды удалён для смартфона я жду
Ничего не понял
У тебя Линукс??
Понял, использовать не буду)
=D
Какой же душный видос. Ничего ре понятно потоиу что оооооооооооочень долго. Риторический вопрос о том, почему же стоит использовать этот новый оператор был задан наверное раз 10 за ролик
да челу нужно хронометраж растянуть чтобы рекламу впихнуть
Какую рекламу, 80% трафика не оплачивается сейчас и за месяц выходит 20$ с 100к просмотров)
Вы действительно думаете что я ради 20$ буду видео тянуть?
@@zproger ну не знаю тогда. Видео не досмотрел, в текстовом формате в первой же статье из гугла стало всё очевидно
Бля ну ты растянул... Еще на час слабо было ролик затянуть повторяя одно и тоже?
Инфы много, хотелось про всё рассказать =)
х := 1
Это как х = х:1
Объяснения на троечку. Слишком много лишних слов и сплошные повторы. растянул на 2 минуты объяснение о том, что сраные кейворды есть в питоне, треш
Так занудно и долго обьясняет пипец
Согласен
найс 4 минуты говорить одно и тоже
Не понимаю где там одно и тоже если рассказывал о разном =)
ни хе ра не понял!
Слишком много воды
Вот ни чего не понял(
=(
Зря вы так, автор молодец и очень доходчиво объяснял. Возможно вам поможет просмотр повторный но на меньшей скорости воспроизведения, если не знаете, то на ютуб есть такая функция замедлить или ускорить воспроизведение. А конкретно это я смотрел на 0.75, так как подача материала была слишком быстрой для меня.
Автор вообще не умеет объяснять
У каждого свой подход к пониманию, невозможно угодить всем
Ты минуту рассказываешь о том, что будешь рассказывать сейчас про этот оператор (никто бы конечно по названию и привью бы не понял о чем ролик...), потом пол видео повторяешь сам себя... Сценарий кролику? Не, не слышал.
Пример с двухчасовой функцией реально дал понимание нужности этого оператора. Остальные примеры тяжело понять, в особенности со строкой startswith поскольку там генератор в любом случае пройдётся по всему списку
Не, any "ломается" на первом True
Проблема высосана из пальца. Элементарно всё решаетcя и без моржа.
@@romansovetskikh7902 да, решается, просто моржовый оператор изначально создавался как сахар, а не принципиально новый подход
Более подробно в документации описали, оператор хоть и достаточно простой по своей логике, но примеров кода очень много и не всегда удается понять с первого раза.
@@ЙенФенФыр ну, такой себе сахар, с огромным содержанием горчицы. Операции присвоения и возврата гораздо интуитивно понятнее. Когда перед тем, как съесть сахар, надо подумать пару дней, явно лучше съесть проверенное несладкое за 5 минут - иначе с голоду помереть можно.
я сначала подумал это Turbo Pascal
тьфу тьфу тьфу
Спасибо очень помогаешь с учёбой по языку Python!!!;)
Это хорошо =)
что это за странный оператор не равно? 06:44
Это так IDE форматирует =)
@@zproger а, фух🙈
@@zproger А не подскажите, как называется плагин на такое форматирование? Очень понравилось, хотелось бы себе поставить
Си'шники наныли, базарю =)
100%
не странный, а коварный оператор. Гвидо не понравился, в сообществе тоже не всеми был принят...
ну многие его и не применяют, это так, для общего развития =)
не видео, а хрень.
семь минут автор спрашивает и переспрашивает сам себя, зачем же нужен другой оператор, так и не даёт ответа.
скажи ты хоть что-нибудь, потом показывай примеры.
в чём отличие то?
на седьмой минуте выматерился и дальше смотреть не стал.
0:33 - ответил для чего нужен оператор
1:00 - уже пошли примеры
1:13 - логика оператора
1:30 - пример 2
2:00 - пример 3
3:20 - логика оператора на примере языка Си
4:00 - о синтаксическом сахаре
Дальше не вижу смысла добавлять тайм-коды.
Примеры тут каждые 10 секунд и пользы огромное количество,
просто когда рассматривается какая-то технология, как правило она вместе с собой
подтягивает и другие технологии, которые тоже нужно рассмотреть. Если бы я просто записал видео
на 10 секунд где сказал что "оператор моржа нужен чтобы присвоить значение в переменную", кто бы понял его смысл? Когда новичкам рассказывают о переменных, им не говорят на 10 секунд что в переменную можно положить значение и всё, как правило им минут на 15 показывают примеры и разные реализации.