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

Поділитися
Вставка
  • Опубліковано 27 вер 2024

КОМЕНТАРІ • 279

  • @zproger
    @zproger  2 роки тому +13

    Если кто знает интересные фишки с этим оператором,
    не забудьте поделиться в комментариях =)

    • @grigoriikuchumov2277
      @grigoriikuchumov2277 2 роки тому +2

      Принципиальная разница между := и = в том, что первый оператор определяет выражение, а второй - инструкцию. Поэтому как и должно при использовании выражений возвращается результат обработки выражения. С инструкциями такое не прокатывает, потому что инструкции не могут никаких результатов возвращать (это не их роль).
      "Проблемка" в Си (и многих наследниках) была в том, что там оператор = являл собой и инструкцию и выражение в зависимости от контекста использования.
      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 Рік тому

      Классное видео, очень полезное спасибо :)

    • @ЧувакИзКосмоса
      @ЧувакИзКосмоса Рік тому

      ну как же, он позволяет оставлять рожицы в комментариях к программе: # :=)

    • @_vpru
      @_vpru 7 місяців тому

      @@grigoriikuchumov2277 по-моему код, в котором есть неоднозначности стоит признать говном. Поэтому даже зная приоритет выполнения инструкций/выражений, всё-равно считается хорошим тоном ставить скобки. В конце концов, синтаксический сахар должен быть сладким, а не превращать одностроку в горький ребус. Поэтому наверное и цикл FOR будет жить вечно в кодерской среде - он прост и понятен как два пальца.

  • @esft-argentum
    @esft-argentum 2 роки тому +96

    Определение назначения фактически отсутствует, сплошные иллюстрации. Наглядность - это замечательно, но строгость описания не менее важна.
    Я лично услышал в данном ролике что-то вроде: «Если мы напишем «print(x:=1)», то значение 1 запишется в x, то есть это - всё равно, что написать «print(1)»...» - как-то невнятно. Должно же, как мне кажется, описание звучать как-то так: «Данный оператор присваивает переменной значение и возвращает его», - и уже дальше можно пускать примеры, так будет и строго, и наглядно.

    • @xaea-1233
      @xaea-1233 Рік тому

      согласен, видно что автор то сам понимает что говорит, а вот мне непонятно, хотя я уже второй год работаю

  • @justman7656
    @justman7656 2 роки тому +53

    Всё обобщается фразой:
    Оператор сохраняет значение в переменную и одновременно его возвращает

    • @zproger
      @zproger  2 роки тому +5

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

    • @rad9587
      @rad9587 2 роки тому +3

      @@zproger что не понятного?

    • @qvar7449
      @qvar7449 2 роки тому +1

      @@rad9587 думаю многие если услышат такое объяснение просто скажут "зачем? можно же просто просто сначала присвоить переменной, а потом использовать переменную"

    • @rad9587
      @rad9587 2 роки тому +1

      @@qvar7449 мне лично уже с превьюшки было понятно, что делает этот оператор, хотя программирую на расте

    • @arsegorov
      @arsegorov 2 роки тому

      Честно говоря, странно, что обычное присваивание не возвращает присвоенное значение, в отличие от Си, не смотря на то, что Питон на Си и написан. Хотя цепное присваивание `a = b = c` в Питоне есть

  • @СашаКрылов-м2ц
    @СашаКрылов-м2ц 2 роки тому +2

    На 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)
    Отличие этих двух записей очень большое.
    Так что правильнее будет сказать, что данная запись генерирует список, но генератором не является

  • @QAengineer
    @QAengineer 2 роки тому +7

    Очень много повторений, можно было сократить видео раза в 2

    • @zproger
      @zproger  2 роки тому

      Спасибо, учту в следующих видео и постараюсь не повторяться

  • @svaaccelerator313
    @svaaccelerator313 2 роки тому +3

    По поводу примера while (value:= input()) != "" можно же красиво упростить:
    while name := input("Name:"):
    print(name)

  • @Max-qj2fh
    @Max-qj2fh 2 роки тому +6

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

    • @zproger
      @zproger  2 роки тому

      Пожалуйста =)

  • @nikitabaraboshin7123
    @nikitabaraboshin7123 2 роки тому +4

    ZProger, пожалуйста, давайте больше конкретики в видео, не обходитесь одними иллюстрациями. Без четкого и ясного определения функции намного сложнее понимать ее применение. Пожалуйста, уделите больше внимания разбору примеров

  • @irwe3514
    @irwe3514 2 роки тому +4

    Очень полезная информация для новичка, все подробно и просто розложено. Спасибо что делаете подобные видео, ждем другие:)

    • @zproger
      @zproger  2 роки тому

      Благодарю!

  • @_Kruzo_
    @_Kruzo_ Рік тому +1

    Спасибо за ответы на "основные вопросы", которые запутали все окончательно...

    • @zproger
      @zproger  Рік тому

      я старался =)

  • @luminas-d9w
    @luminas-d9w 2 роки тому +2

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

  • @waltage
    @waltage 5 місяців тому

    Если язык С влияет на Питон - возникает обоснованный вопрос о целесообразности существования этого самого Питона. лол.

  • @archyt88
    @archyt88 2 роки тому +3

    Оператор для собеседований

    • @zproger
      @zproger  2 роки тому +3

      Тоже верно)

  • @bomboklaa
    @bomboklaa 2 роки тому +2

    Ого, сперва подумал, что вообще показалось, что ты попросил 600 лайков... Но это же действительно странно, что такой полезный канал так не популярен!

    • @zproger
      @zproger  2 роки тому

      Будем исправляться =)

  • @renatshaym
    @renatshaym Рік тому

    Да за шо) Вот смотрю видео и так затягивает, что хочется смотреть ещё и ещё и те видео, которые выходят во всплывающих подсказках) И так уходит незаметно полдня) Автору спасибо за топовые контенты, которые он пилит для нас)

  • @CrossBend
    @CrossBend Рік тому +1

    вот, сначала нарушают основные принципы программирования - плодят сущности, а потом вынуждены плодить их еще больше из-за именованных аргументов ))))) а как удобно в JS паровозиком присваивать: a=b=1;if(x=a==b)alert('x='+x) счастье порой так близко...

  • @trixion74
    @trixion74 2 роки тому +2

    Ожидание: что это за оператор
    Автор: сейчас я расскажу как его можно использовать
    p.s. прошла уже половина видео и я так и не понял

  • @ПавелГолубев-п8о
    @ПавелГолубев-п8о 2 роки тому +3

    Спасибо за инфу)
    Чисто сахар, чтобы писать в меньшее количество строк)

    • @zproger
      @zproger  2 роки тому

      Ага) Но сахар достаточно опасный в некоторых случаях =)

  • @girfeo9338
    @girfeo9338 2 роки тому +1

    Спасибо, одни из лучших среди лучших

    • @zproger
      @zproger  2 роки тому

      Спасибо

  • @sailtogether3236
    @sailtogether3236 2 роки тому

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

  • @MrMolekula
    @MrMolekula Рік тому

    3:35 - так пишут, чтобы по ошибке не написать в условии оператор присваивания. Про крайней мере меня так учили)

  • @auril1594
    @auril1594 2 роки тому +2

    спасибо, стало понятнее. пример бы наверное сделал через filter. хотя может через моржа и правильнее

    • @zproger
      @zproger  2 роки тому

      Можно разные примеры делать =)

  • @mrLumen2
    @mrLumen2 2 роки тому +1

    Python медленно превращается в Pascal.

    • @zproger
      @zproger  2 роки тому

      возможно

  • @hock_2334
    @hock_2334 2 роки тому +2

    простите мне мою невежественность , а как вы сделали != "" перечеркнутым? Я только начинаю учится. Это только в пайчарме так можно?

    • @zproger
      @zproger  2 роки тому +1

      IDE сама так форматирует для красоты =)

  • @respise
    @respise Рік тому +1

    очень интересный акцент, никогда такого не слышал.

  • @Dmytro-Tsymbaliuk
    @Dmytro-Tsymbaliuk 2 роки тому +1

    Python дошел до стандарта С++11 с инициализацией переменных, получается

  • @koolmax79
    @koolmax79 2 роки тому +1

    Те кто на C/C++ пишут не путают = и ==.
    И я бы никогда так как предлагается не писал, некрасиво, лучше сущность сравнивать с чем то, а не наоборот.
    Простой пример
    if(men.age == 5) //если человеку 5 лет
    if(5 == men.age) //если 5 человеку лет. Вы серьезно так думаете и говорите?
    То что касается питона, хорошие примеры, подробно и понятно

  • @FrolFrolow
    @FrolFrolow 2 роки тому

    Классный ролик, все понятно, пусть я почти и не знаю информатику и питон в частности(((

  • @ostrov11
    @ostrov11 2 роки тому +2

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

    • @zproger
      @zproger  2 роки тому

      xDD

    • @ostrov11
      @ostrov11 2 роки тому

      @@zproger ... сорян, на пике Балмера был походу, не помню что хотел сказать этим

  • @eagold
    @eagold 2 роки тому +1

    но кстати этого оператора мне часто не хватало, даже подумать не мог что он есть ещё и с версии 3.8

    • @zproger
      @zproger  2 роки тому +1

      Пайтон не перестает удивлять :)

  • @archyt88
    @archyt88 2 роки тому +8

    Если есть функция которая выполняется два часа, наверное следует её переписать на С++ или по крайней мере на Cython

    • @zproger
      @zproger  2 роки тому +1

      Это да, я чисто для простоты понимания сделал такой пример

    • @Vasile4e4ek
      @Vasile4e4ek 2 роки тому +3

      Это полезно для codewars и leetcode, мне этого точно порой не хватало, но с другой стороны, если это необходимо, значит что-то изначально не так

    • @serafimgrubas2070
      @serafimgrubas2070 2 роки тому

      А если и с++ функция работает два часа, тут уже никуда не убежишь :)

    • @alexbobin3044
      @alexbobin3044 2 роки тому

      Тем временем функция
      class Supermatem:
      Def reshala(aboba, nanana, sss)
      time. sleep(7200000)
      return "сложна, очень сложна"

    • @pavelmakis
      @pavelmakis 2 роки тому +1

      Вы знаете язык программирования Cpython? Не слышал о таком

  • @slavakonstantinov1531
    @slavakonstantinov1531 Рік тому +1

    Огромное спасибо. Это было очень интересно и познавательно

    • @zproger
      @zproger  Рік тому

      Рад что принес пользу =)

  • @luispakvard5681
    @luispakvard5681 2 роки тому +1

    Интересно на питоне инъекции шел кода и в частности Shellcode Reflective DLL Injection

    • @zproger
      @zproger  2 роки тому

      Интересно, но ютубу такое не понравится

  • @АндрейЛеднев-ф8с
    @АндрейЛеднев-ф8с 2 роки тому +2

    Аж на 12 мин ролик о том, что объясняется одним предложением . Моржовый (walrus) оператор, появившийся в Python 3.8, дает возможность решить сразу две задачи: присвоить значение переменной и вернуть это значение, поэтому порой можно написать код короче и сделать его более читаемым, и он может быть даже более эффективным с точки зрения вычислений.

  • @arsenskavin130
    @arsenskavin130 Рік тому +1

    Генераторы делаются в круглых скобках.

    • @zproger
      @zproger  Рік тому

      да, речь о других генераторах, не о технологии из языка

    • @arsenskavin130
      @arsenskavin130 Рік тому

      @@zproger не знаю как там в русскоязычной терминологии, но впервые встречаю что лист компрехеншены называют генераторами, генераторы это принципиально другая вещь.

  • @izergaer
    @izergaer 2 роки тому +1

    Насколько я понял, это аналог оператора = из C

    • @zproger
      @zproger  2 роки тому

      Можно сказать и так, но walrus operator более функциональный

  • @IvanIvanov-dh3sg
    @IvanIvanov-dh3sg 2 роки тому +7

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

    • @zproger
      @zproger  2 роки тому

      В каком плане не ускорять видео? Именно моменты где я пишу код?
      После ответа попытаюсь исправить, чтоб было комфортней смотреть

    • @IvanIvanov-dh3sg
      @IvanIvanov-dh3sg 2 роки тому +4

      @@zproger нет, код норм. Просто я речь вашу не успеваю осмысливать, может я тормоз=(. Привык к темпу Немчинского. Для меня вы рассказываете слишком быстро. На 0.75 поставил скорость и стало норм. Возможно мне нужно периодически останавливать воспроизведение и думать.

    • @Bluespyy
      @Bluespyy 2 роки тому +1

      @@IvanIvanov-dh3sg мне наоборот кажется что автор медленно говорит. Ставлю 1.25 чтобы не уснуть

    • @zproger
      @zproger  2 роки тому +4

      Я о том же, посмотрите мои видео раньше, они были в 3 раза медленнее, там дольше 20 секунд никто не смотрел) Если буду снимать в стиле Немчинского, то видео будут юзать для того чтобы заснуть, а не выучить Python :)

  • @jackmoral9127
    @jackmoral9127 2 роки тому +1

    Круто! Но больше всего мне стало интересно этот как вместо != зачеркнутое равно поставить, это какуюто комбинацию клавишь надо прожать или только в пайчарме актуально?

    • @alexbobtail4862
      @alexbobtail4862 Рік тому

      Тоже интересно. Нашли, как это сделать?

    • @alexbobtail4862
      @alexbobtail4862 Рік тому

      Попытался скопировать знак ≠. Не работает

  • @sambo-mambo
    @sambo-mambo 2 роки тому +1

    Информативно. Круто мне понравилось.

    • @zproger
      @zproger  2 роки тому

      Благодарю!

  • @elis-sin-90
    @elis-sin-90 2 роки тому +2

    Спасибо Вам, очень понятно и лаконично👍

    • @zproger
      @zproger  2 роки тому

      Благодарю! Буду стараться и дальше =)

    • @andreykuznetsov8096
      @andreykuznetsov8096 2 роки тому

      Зачем ты врёшь? И зачем автор это лайкнул? Я просмотрел уже 8 минут и особенно мой мозг взорвался на примере с if, потому что я не могу понять, зачем это нужно

    • @АлексейСаенко-в3й
      @АлексейСаенко-в3й Рік тому

      насчёт понятно спорный момент

  • @helish_88
    @helish_88 2 роки тому +1

    этому оператору уже два года
    python 3.8 Release Date: Oct. 14, 2019

    • @zproger
      @zproger  2 роки тому

      Ну так никто и не говорил что он новый =)
      Мало кто снимает об этом операторе и хотелось что-то интересное рассказать

    • @helish_88
      @helish_88 2 роки тому +1

      @@zproger 6 секунда, вы говорите новый оператор. разрешите дое*** :)))

    • @zproger
      @zproger  2 роки тому

      Упс, что-то не то сказал значит

  • @pro100denchik
    @pro100denchik 2 роки тому +2

    Классно объяснил оператор моржа, но меня смутил знак неравенства ≠, интерпретатор пайтон это понимает? и что надо сделать, чтобы это работало? почему не стандартный знак != неравенства?

    • @fushibuzuka7463
      @fushibuzuka7463 2 роки тому

      сам глаза округлил..правда не ас в питоне.

    • @zproger
      @zproger  2 роки тому +1

      Это так редактор кода форматирует) А на деле там обычный !=

  • @Anonymous00754
    @Anonymous00754 3 місяці тому

    для any пример надо было с еще # добавить что типо любой с # столько сколько будет стока и принтанет... ну так для просто ясности
    а так да спасибо класная штука все помню как то парился как в j for j in list чето присвоить )) потом друг скинул новое в питоне ссылку на это и я прям порадовался ) но так и не применял потом ))) ахахаз

  • @revoluxe
    @revoluxe 2 роки тому +1

    Супер, очень полезная вещь!

    • @zproger
      @zproger  2 роки тому

      Благодарю

  • @ВладимирБро-т2ч

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

  • @bmx666bmx666
    @bmx666bmx666 2 роки тому

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

  • @jackmetropolitan7845
    @jackmetropolitan7845 2 роки тому

    Ууу! До 8:30 думал - "что за ерунда", а потом как понял!
    Спасибо!

    • @zproger
      @zproger  2 роки тому

      Это точно)

  • @zakirovio
    @zakirovio 2 роки тому

    Сначала перепутал с ключ значением в генераторе словаря {i: = value for i in range(n)}, оказалось немного другое 👍

  • @TheBogdanLisichenko
    @TheBogdanLisichenko 2 роки тому +2

    Если много писать на питоне - можно заработать синтаксический диабет

  • @nikitawhite4516
    @nikitawhite4516 2 роки тому +1

    Тема для пайшарма очень симпатичная. Как называется?

  • @handal3403
    @handal3403 Рік тому +1

    Скажи пожалуйста как называется твоя тема pycharm?

  • @scren2010
    @scren2010 2 роки тому +1

    Отличное видео, спасибо!

  • @GazMyas_Champion
    @GazMyas_Champion 2 роки тому +1

    2:50 Язык программирования написан на языке программирования... Что блеатььь?

    • @zproger
      @zproger  2 роки тому

      Ну да, а как иначе)

  • @АлександрИлюхин-ъ5о

    8:48 вроде python это оптимизирует для одинаковых значений

  • @maxeyed4038
    @maxeyed4038 2 роки тому +2

    По существу ничего так и не сказал. Известно что из-за одной щеки за другую 12 минут перекладывал.

    • @zproger
      @zproger  2 роки тому

      Что Вы хотели бы увидеть по существу? Примеров в видео большое количество

  • @Helsingoff
    @Helsingoff 2 роки тому +2

    А можно все что до 6:20 просто выбросить было? Что там было вообще рассказано интересного? Миллион раз была сказана фраза "так зачем же этот оператор"? Это что, вода чтобы ролик был длиннее 10 минут потому что так надо ютубу? Возможно моя проблема в том, что я давно знаю этот оператор и ролик мне скинул друг, включил я его ради любопытства, послушать что расскажут. Но слушать это просто невозможно, на 6:30 я наконец услышал начало объяснения применения оператора и офигел от количества воды в ролике. Воду льете профессионально ua-cam.com/video/gdgHaIoAP14/v-deo.html

    • @zproger
      @zproger  2 роки тому

      Смешное видео) Старался не лить воду, просто иногда приходится повторяться и наводить примеры, чтобы это лучше поняли. Раньше когда так не делал люди потом жаловались что слишком коротко и поверхностно) Так что всем не угодишь

  • @dotend7915
    @dotend7915 2 роки тому +1

    Дядь, как у тебя неравно записалось как перечеркнутое равно? Оно же как то так записывается: !=

    • @zproger
      @zproger  2 роки тому

      Это так форматирует IDE для красоты =)

  • @Axil-ww
    @Axil-ww 2 роки тому +1

    С := понятно, а как ты символ зачеркнутого равно написал? Что это такое вообще? != ?

    • @zproger
      @zproger  2 роки тому

      Это IDE так форматирует =)

  • @MrNagios
    @MrNagios 2 роки тому +1

    отлично, спасибо за видео

    • @zproger
      @zproger  2 роки тому

      Спасибо за поддержку!

  • @focsvin
    @focsvin Рік тому

    Доброе время суток. Я что-то не понимаю. Почему в питоне нельзя писать так f_data = [y for x in data if(y = test(x)) != 4].
    prtint() просто нельзя сделать присвоение в рандомно переменную. Хотя в чем тут проблема я честного говоря не понимаю. В том же C# это можно сделать. А тут то что не так ? По идее просто происходить присвоение значения. А потом эта переменная проверяется в условии.

  • @cliff_44
    @cliff_44 8 місяців тому

    в этом видео так много воды, что мне комнату залило, ну спасибо конечно

    • @zproger
      @zproger  8 місяців тому

      Зато будет что пить :D

  • @lochinlochinov8975
    @lochinlochinov8975 Рік тому +1

    А почему у тебя на 6:30 вместо != Поставлено ≠ ?

    • @zproger
      @zproger  Рік тому

      Это редактор кода так делает для красоты)

    • @lochinlochinov8975
      @lochinlochinov8975 Рік тому

      @@zproger понятно

  • @gerz_og
    @gerz_og Рік тому

    все хорошо и отлично... но 2.44 минуты ждать обяснения... это очень душно.

  • @Ramzes200986
    @Ramzes200986 Рік тому

    я вот не понял num вообще не имеет значения и тут получается хочешь присвоить ему 1?

  • @Skub-f4c
    @Skub-f4c 10 місяців тому

    70% ролика ВОООООООООООДЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫ, как душно, просто пздц(

  • @VsevolodT
    @VsevolodT 8 місяців тому

    Ушел вы бан. Ходить по кругу и ассказывать 3 минуты, зачем что-то сделано, это талант, конечно.

  • @vladimirkulakov6126
    @vladimirkulakov6126 2 роки тому +1

    Это в новой версии python добавили?

  • @АндрейМонополистов

    Очень крутое видео! Хотелось бы больше видео по селениуму. Особенно разбор оператора if с driver.find_element

    • @zproger
      @zproger  2 роки тому +1

      Постараюсь что-то придумать =)

    • @figaro2440
      @figaro2440 Рік тому

      А что там вообще рассматривать, если заданный элемент нашелся if срабатывает, это обычный if, что вы от него еще хотите?

  • @Alcoholdehydrogenas
    @Alcoholdehydrogenas Рік тому

    а = б =1 - мы получим 2 ссылки на значение 1?

  • @SkveerBoy
    @SkveerBoy 2 роки тому +2

    Годно Годно )

    • @zproger
      @zproger  2 роки тому

      Благодарю =)

  • @ДенисКнязев-ю9у
    @ДенисКнязев-ю9у 2 роки тому +1

    а почему у вас неравно так записывается?

    • @zproger
      @zproger  2 роки тому

      Так форматирует IDE

  • @Приютдляпитомцев
    @Приютдляпитомцев 10 місяців тому

    спасибо очень полезно начинающему

  • @Alcoholdehydrogenas
    @Alcoholdehydrogenas Рік тому

    Из какого Го?! Я узнал про этот оператор из Борланд Паскаль!

  • @александргончар-щ2е

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

    • @zproger
      @zproger  2 роки тому

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

  • @-_-MEOW-_-j7
    @-_-MEOW-_-j7 2 роки тому +1

    что делает этот оператор " -> " в python

    • @zproger
      @zproger  2 роки тому

      Это аннотация, на канале есть видео

    • @-_-MEOW-_-j7
      @-_-MEOW-_-j7 2 роки тому

      @@zproger Спасибо

  • @artem869
    @artem869 2 роки тому +2

    Ubuntu is my love

  • @luispakvard5681
    @luispakvard5681 2 роки тому +1

    А как взять записать ресурсы с одного екзешника другой я знаю что есть секция .rsrc реально ли ее взять с 1го файла и переписать в 2й екзешник что бы у него были там иконка, манифест , версия такие как у 1го файла и что б он работал как раньше?

    • @zproger
      @zproger  2 роки тому

      Реально, но я не знаю как это сделать в Python, потому что тут всё оборачивается в рантайм, и там сложно найти какие-то ресурсы

    • @Dmytro-Tsymbaliuk
      @Dmytro-Tsymbaliuk 2 роки тому

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

  • @vvv228
    @vvv228 2 роки тому +5

    Первые 5 минут только вопросы почему и зачем. Ответы начинаются с 5:15, а лучше с 7:15

    • @zproger
      @zproger  2 роки тому

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

    • @mcclawdymcclawdy4197
      @mcclawdymcclawdy4197 2 роки тому

      Спасибо, а то 3 раза слушать "ЗАЧЕМ ЖЕ БЫЛ ДОБАВЛЕН ЭТОТ ОПЕРАТОР" уже надоело

    • @zproger
      @zproger  2 роки тому +1

      @@mcclawdymcclawdy4197 И зря, потом контекст уловить не сможете, так как в начале предыстория была

    • @mcclawdymcclawdy4197
      @mcclawdymcclawdy4197 2 роки тому +1

      @@zproger контекст этого оператора в пару строк укладывается, если человеку нужно 15 минут чтобы понять как он работает , то у меня для него плохие новости

  • @АлександрПисарев-д5м

    Одна тавталогия, 3 мин выдерлжал и выкл)

  • @БОЙФРЕНДИОЗОДА9999ХУМАШ

    Напиши пожалуйста коды удалён для смартфона я жду

    • @zproger
      @zproger  2 роки тому

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

  • @Samurai-vc3rl
    @Samurai-vc3rl Рік тому

    У тебя Линукс??

  • @rimuwu
    @rimuwu 2 роки тому +1

    Понял, использовать не буду)

  • @dima4ka_og432
    @dima4ka_og432 2 роки тому +1

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

    • @alexcupert
      @alexcupert 2 роки тому +1

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

    • @zproger
      @zproger  2 роки тому

      Какую рекламу, 80% трафика не оплачивается сейчас и за месяц выходит 20$ с 100к просмотров)
      Вы действительно думаете что я ради 20$ буду видео тянуть?

    • @alexcupert
      @alexcupert 2 роки тому

      ​@@zproger ну не знаю тогда. Видео не досмотрел, в текстовом формате в первой же статье из гугла стало всё очевидно

  • @manul74
    @manul74 2 роки тому +1

    Бля ну ты растянул... Еще на час слабо было ролик затянуть повторяя одно и тоже?

    • @zproger
      @zproger  2 роки тому

      Инфы много, хотелось про всё рассказать =)

  • @algyssik
    @algyssik 2 роки тому

    х := 1
    Это как х = х:1

  • @vffuunnyy
    @vffuunnyy 2 роки тому

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

  • @kamnsv
    @kamnsv 2 роки тому +1

    Так занудно и долго обьясняет пипец

    • @zproger
      @zproger  2 роки тому +1

      Согласен

  • @skufcrypto
    @skufcrypto 2 роки тому +1

    найс 4 минуты говорить одно и тоже

    • @zproger
      @zproger  2 роки тому

      Не понимаю где там одно и тоже если рассказывал о разном =)

  • @АндресДеФонсека
    @АндресДеФонсека 2 роки тому

    ни хе ра не понял!

  • @akcaxup
    @akcaxup Рік тому

    Слишком много воды

  • @vladimirprin263
    @vladimirprin263 2 роки тому +1

    Вот ни чего не понял(

    • @zproger
      @zproger  2 роки тому +1

      =(

    • @IvanIvanov-dh3sg
      @IvanIvanov-dh3sg 2 роки тому +2

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

  • @dimakost9900
    @dimakost9900 Рік тому

    Автор вообще не умеет объяснять

    • @zproger
      @zproger  Рік тому

      У каждого свой подход к пониманию, невозможно угодить всем

  • @evgeny2495
    @evgeny2495 7 місяців тому

    Ты минуту рассказываешь о том, что будешь рассказывать сейчас про этот оператор (никто бы конечно по названию и привью бы не понял о чем ролик...), потом пол видео повторяешь сам себя... Сценарий кролику? Не, не слышал.

  • @serafimgrubas2070
    @serafimgrubas2070 2 роки тому +36

    Пример с двухчасовой функцией реально дал понимание нужности этого оператора. Остальные примеры тяжело понять, в особенности со строкой startswith поскольку там генератор в любом случае пройдётся по всему списку

    • @kan4317
      @kan4317 2 роки тому

      Не, any "ломается" на первом True

    • @romansovetskikh7902
      @romansovetskikh7902 2 роки тому +3

      Проблема высосана из пальца. Элементарно всё решаетcя и без моржа.

    • @ЙенФенФыр
      @ЙенФенФыр 2 роки тому +1

      @@romansovetskikh7902 да, решается, просто моржовый оператор изначально создавался как сахар, а не принципиально новый подход

    • @zproger
      @zproger  2 роки тому +1

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

    • @romansovetskikh7902
      @romansovetskikh7902 2 роки тому

      @@ЙенФенФыр ну, такой себе сахар, с огромным содержанием горчицы. Операции присвоения и возврата гораздо интуитивно понятнее. Когда перед тем, как съесть сахар, надо подумать пару дней, явно лучше съесть проверенное несладкое за 5 минут - иначе с голоду помереть можно.

  • @trixion74
    @trixion74 2 роки тому +2

    я сначала подумал это Turbo Pascal

    • @zproger
      @zproger  2 роки тому

      тьфу тьфу тьфу

  • @bekzodhalilov8689
    @bekzodhalilov8689 2 роки тому +12

    Спасибо очень помогаешь с учёбой по языку Python!!!;)

    • @zproger
      @zproger  2 роки тому +1

      Это хорошо =)

  • @eagold
    @eagold 2 роки тому +3

    что это за странный оператор не равно? 06:44

    • @zproger
      @zproger  2 роки тому +1

      Это так IDE форматирует =)

    • @eagold
      @eagold 2 роки тому

      @@zproger а, фух🙈

    • @ФеликсЧерджиев-о2р
      @ФеликсЧерджиев-о2р 2 роки тому

      @@zproger А не подскажите, как называется плагин на такое форматирование? Очень понравилось, хотелось бы себе поставить

  • @kemal1910
    @kemal1910 2 роки тому +2

    Си'шники наныли, базарю =)

  • @eamarc
    @eamarc 2 роки тому +1

    не странный, а коварный оператор. Гвидо не понравился, в сообществе тоже не всеми был принят...

    • @zproger
      @zproger  2 роки тому

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

  • @chase_ranger
    @chase_ranger 2 роки тому +1

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

    • @zproger
      @zproger  2 роки тому +1

      0:33 - ответил для чего нужен оператор
      1:00 - уже пошли примеры
      1:13 - логика оператора
      1:30 - пример 2
      2:00 - пример 3
      3:20 - логика оператора на примере языка Си
      4:00 - о синтаксическом сахаре
      Дальше не вижу смысла добавлять тайм-коды.
      Примеры тут каждые 10 секунд и пользы огромное количество,
      просто когда рассматривается какая-то технология, как правило она вместе с собой
      подтягивает и другие технологии, которые тоже нужно рассмотреть. Если бы я просто записал видео
      на 10 секунд где сказал что "оператор моржа нужен чтобы присвоить значение в переменную", кто бы понял его смысл? Когда новичкам рассказывают о переменных, им не говорят на 10 секунд что в переменную можно положить значение и всё, как правило им минут на 15 показывают примеры и разные реализации.