#69. Конструкция match/case. Первое знакомство | Python для начинающих

แชร์
ฝัง
  • เผยแพร่เมื่อ 26 ธ.ค. 2024

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

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

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

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

    сразу видно разницу между старыми видео и этим дополнением. Раньше было возможно смотреть только на скорости 1.5, а сейчас этой потребности нет)
    Спасибо Вам за прекрасные уроки, Вы лучший преподаватель из тех кого я встречал :)

  • @digital_Zaalar
    @digital_Zaalar 4 หลายเดือนก่อน +1

    Это видео настолько подробно, что по данной конструкции вопросов больше никогда вопросов быть не должно. Всё пережевали ещё и в рот положили!

  • @monieKidd
    @monieKidd 10 หลายเดือนก่อน +2

    спасибо спасибо, а то из документации питона ничего не было понятно что и как эти шаблоны, большое спасибо!!!

  • @ЕгорШишкин-г8ь
    @ЕгорШишкин-г8ь ปีที่แล้ว +4

    Сергей, Вы просто волшебны, спасибо большое за подобные уроки!

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

    Сергей, расскажите, пожалуйста, про асинхронный python. Многим очень интересно.

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

    спасибо Сергей
    с Вашими уроками я разобрался с "компрехэншс", не боюсь писать "конструкции" в одну строчку

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

    Это самый лучший канал о программировании!❤

  • @soul-snatcher225
    @soul-snatcher225 ปีที่แล้ว +2

    3:45 в точку, раньше изучал JavaScript и сразу после увиденного вспомнил про switch/case
    16:58 ахахахах опять в точку на протяжении всего видео думал, нахрен это нужно?))
    кстати, прошел весь твой курс по доброму пайтону, очень хорошо все объясняешь, курс один из лучших на степике

  • @ГубкаБоб-р8ъ
    @ГубкаБоб-р8ъ 2 ปีที่แล้ว +9

    Спасибо большое, ваши видео вдохновляют!
    Как вы точно угадали мысли, про if/elif/else )))
    Я к середине видео, уже интерпретировал для себя эту конструкцию - "синтаксический сахар".
    Кстати, интересно попробовать сравнить скорость работы if/elif/else VS match/case

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

    Очень подробно и доходчиво! Большое спасибо!

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

    Давно давно уже прошел этот курс, после уже прошел и ваш ООП и от других авторов. Вижу, что здесь дополнение, ну пробежимся)

  • @thenyan6832
    @thenyan6832 4 หลายเดือนก่อน +1

    еще один плюс в копилку match case - это то, что не обязательно создавать переменную для проверки какого-либо значения, допустим введенного через input(). В if\elif\else можно использовать моржовый оператор, чтобы вне условного оператора не создавать переменную и проводить операции проверки в последующих блоках elif, в то время как необходимость в моржовом операторе через match case просто отпадает

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

    Сергей уважаю тебя за эти уроки

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

    Наконец-то!!!!!! Как же мне не хватало аналогичной конструкции "switch-case" на пайтоне. До этого писал на пыхе и шарпе. Там такая конструкция уже ооооочень давно

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

    Доступно и понятно, молодец.

  • @ИванКруткевич
    @ИванКруткевич 2 ปีที่แล้ว +3

    О, мне всегда в пайтоне не хватало этой конструкции, хорошо что разработчики всё таки её добавили

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

    спасибо, как всегда просто, понятно, последовательно

  • @7IdE
    @7IdE 2 ปีที่แล้ว +4

    И как обычно топовый видос.
    Читать доку по этому вопросу мне было лень, а вот твой видос посмотреть - за милую душу.
    P.S. А классно, что теперь можно убрать из кода if isinstance(value, str) и заменить на такую более читабельную штуку.

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

    Спасибо, Сергей! Новый год начался с ваших роликов))) Уверен, это хороший знак и год будет плодотворен в самообразовании (под вашим наставничеством)...

  • @андрейхоменко-и5я
    @андрейхоменко-и5я 2 ปีที่แล้ว +1

    Ну наконец-то доехала конструкция из пыха.

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

    Спасибо Вам за труд. Ждём на stepik (или в другом месте) витиеватых вопросов/задач по данной теме)

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

    спасибо за видео, полезно, интересно, и как всегда наглядно! Если будет время и желание переодически можно выпускать видео в формате "новинок Python" (изменения /дополнения), при такой подачи материала гораздо интересней следить за развитием языка))

  • @andredru4278
    @andredru4278 10 หลายเดือนก่อน +1

    Спасибо. Интересная штука.

  • @musecollaboration
    @musecollaboration 7 หลายเดือนก่อน +1

    Круто спасибо!!!

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

    Это явно лучше кучи if-ов)))

  • @kun_6-23
    @kun_6-23 2 ปีที่แล้ว +1

    Спасибо

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

    Когда же асинхронность Сергей !?!?

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

    спасибо!

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

    Спасибо!

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

    спасибо, все понятно

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

    Обажаю, когда Сергей в своих видео, крайне исчерпывающе, отвечает на вопрос "А зачем всё это надо?"

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

    Будет ли когда-то видео про ExceptionGroup?

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

    Лайк, не глядя

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

    Thank you very much bro

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

    а зачем переименовывать cmd в command ? я понимаю пример учебный, показать возможности, но просто единственную пользу я увидел в том чтобы сократить имя в блоке case, а Вы наоборот из меньшей большую делаете. или тут есть еще какой то смысл ?

  • @НикН-о7о
    @НикН-о7о 2 ปีที่แล้ว +1

    Ещё бы про группы исключений в 3.11

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

    У меня не взлетает этот код, в 11 линии где print(f"другая команда") тут выдаёт ошибку

  • @x-user-agent
    @x-user-agent 2 ปีที่แล้ว +1

    там с классами самый замут начинается 💪

  • @сергейпушкаев
    @сергейпушкаев 10 หลายเดือนก่อน +1

    а что будет если такой код?
    case str # без вызова
    что тут происходит?

  • @АртемНиконов-у7я
    @АртемНиконов-у7я ปีที่แล้ว

    Сергей, скажите как обозначить блок case c _ в python 3.11!?

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

    подскажите, почему такой кейс проходит?
    var = 't'
    match var:
    case str() as v if v.upper():
    print('Строковая переменная -', v)

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

      сразу нашел решение - срабатывает isupper(), ждет True

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

    👍

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

    Всё прекрасно, но я упустил, почему шаблоны в операторах case называются именно так. Я понимаю, что в выражениях if elif else мы используем логическое выражение, а match/case является его аналогом, тогда почему у него они называются шаблонами, только ли потому что можно записать что-то вроде такого?
    match cmd:
    case command:
    print(command)

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

      там конструкции после case (в общем случае) напоминают некий шаблон, это особенно хорошо видно при анализе последовательностей (см. следующие видео по этой теме)

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

      @@selfedu_rus , спасибо!

  • @ВладимирБузмаков-ь3и
    @ВладимирБузмаков-ь3и ปีที่แล้ว

    Здравствуйте. Как всегда отлично! Уже более полугода занимаюсь по Вашим урокам. Хотел бы уточнить. Есть ли видео по fast api?

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

      Здравствуйте! По fast api не делал.

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

    Сразу же, как начался ролик, у меня появился вопрос, а чем отличается от elif. Лишь в сааааамом конце было сказано, что ничем, а надо для наглядности 😁

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

      Еще для удобства, через if/elif/else в непростых проверках будут получаться более сложные условия.

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

    Я использую программу Spyder. По какой-то причине у меня не работают "match" и "case". Как это исправить. Показывает ошибку match cmd: invalid syntax

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

      match/case работаю с версии Python 3.10, вроде

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

    Вопрос: а в блоке case можно проверить равенство переменных?

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

      да, об этом в последнем 4-м видео, кратко, нужно, чтобы перед переменной непременно стояла точка, например, объявить переменную в другом модуле или в классе текущего модуля

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

    Доброе время суток! Отличный материал спасибо Вам! В курсе задания будут по этой теме?

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

      да, надо будет добавить, как руки дойдут )

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

      @@selfedu_rus спасибо

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

    Помедленее,я записываю(с)

  • @Chernikru
    @Chernikru 2 ปีที่แล้ว

    а разве нет в питоне case конструкции , помимо описанной в ролике, как в других языках? . Я не считаю if, elif, elif за такое.

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

      Нет, если сильно подобное нужно было, то делали через словарь

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

    Да это же обычный switch/case

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

    спасибо

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

    Спасибо!