Рекурсия в Python

Поделиться
HTML-код
  • Опубликовано: 10 мар 2024
  • По многочисленным просьбам подписчиков поговорим о рекурсивных функциях, как они работают, как их правильно написать и каких ошибок избегать.
    Рекурсивная функция всегда представлена комбинацией основного случая (base case) и рекурсивного вызова.
    Предназначение рекурсии - разбивать/уменьшать поступившие данные до тех пор, пока не будет выполнено условие выхода.
    В Python рекурсия ограничена глубиной стека (по умолчанию - 1000) и не оптимизирована
    Частые ошибки:
    - нет условия выхода (base case)
    - нет return в одной из веток
    - нет уменьшения данных
    Читать:
    Mark Lutz, fifth edition "Learning Python", Chapter 19, Advanced Function Topics
    docs.python.org/3/library/sys...
    docs.python.org/3/library/exc...
    Присоединяйтесь к помощи каналу, будет интересно)
    ✔️Бусти boosty.to/python_russian/donate
    ✔️Юмани 410011506612886
    Будь первым везде и всегда, включай уведомления о новых выпусках 🔔
    #Python #PythonRussian #Recursion

Комментарии • 42

  • @PythonRussian
    @PythonRussian  2 месяца назад +13

    друзья, все еще кто-то кое-где у нас порой смотрит видео, но не подписывается на канал, призываю исправлять это упущение по мере сил.

    • @barma1309
      @barma1309 Месяц назад

      Вот позорники!!!

    • @nicsolov9821
      @nicsolov9821 Месяц назад +1

      Без вопросов!

    • @user-ko8kz2zk2u
      @user-ko8kz2zk2u Месяц назад

      Очень жду видео про мультипроцессинг в вашем исполнении! Спасибо!

  • @Dryagin_Andry
    @Dryagin_Andry 2 месяца назад +6

    Я как только услышал в начале видео, что в уроке не будет факториала и чисел фибоначчи сразу лайк поставил! Думаю кто будет искать еще какие-то уроки по рекурсии на ютубе или других ресурсах тот меня поймет)))

  • @user-kw9ox9dg5d
    @user-kw9ox9dg5d 26 дней назад +1

    Действительно видео помогло разобраться, учусь на платформе, но и то не все было понятно. Сейчас что бы решить задачи с рекурсией, буду вначале раскладывать на этапы.
    Спасибо за видео)

  • @SudoAptReboot512
    @SudoAptReboot512 2 месяца назад +2

    Прекрасное разъяснение! Не только четко объяснил материал, но и несколько раз повторил чтобы помочь закрепить информацию. Огромное спасибо! Пересматриваю твои видео чтобы освежить память или подготовиться к собесам.

  • @ivanpeasdervan1569
    @ivanpeasdervan1569 7 дней назад

    Четко. Грамотно. По полкам.
    Челом бью!

  • @ThembaKai
    @ThembaKai 8 дней назад

    спасибо, потратил 50 минут и не зря, вроде бы всё понял, пойду дальше шлифовать рекурсию, лайк

  • @anatolyiredko9817
    @anatolyiredko9817 2 месяца назад +3

    Привет! Как неожиданно и приятно)

  • @user-buser_eto_ja
    @user-buser_eto_ja 2 месяца назад +2

    Вот это подарок прям! Спасбоооо!!!

  • @user-no6qf4ib2e
    @user-no6qf4ib2e Месяц назад +1

    Видео достойно не одного, а как минимум 1 килотонны лайков в тротиловом эквиваленте (🧐)... Спешл для таких нубасиков как я, которые задолбались ПЫТАТЬСЯ понять эту долбаную рекурсию без взрыва головного мозга. ЛУЧШЕЕ объяснение из всего, что я пересмотрел- перечитал в инете! Спасибо за труды! 👍👍

    • @PythonRussian
      @PythonRussian  Месяц назад

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

  • @BritScientist
    @BritScientist 2 месяца назад +2

    Толковое видео получилось, спасибо! В функции my_pow случай y == 2 можно отдельно не рассматривать, потому что он покрывается рекуррентной формулой. И хорошо было бы рассказать про мемоизацию, раз речь зашла про факториал.

    • @PythonRussian
      @PythonRussian  2 месяца назад +3

      там вообще можно короче написать о чем я сразу и сказал и оставил как задание. А про мемоизацию -на данном этапе лишнее, хотя тема полезная

  • @Ssilki_V_Profile
    @Ssilki_V_Profile 2 месяца назад +2

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

    • @PythonRussian
      @PythonRussian  2 месяца назад

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

  • @Nonstop4ik
    @Nonstop4ik Месяц назад +1

    спасибо. отличный материал

  • @user-ko8kz2zk2u
    @user-ko8kz2zk2u Месяц назад +1

    Очень жду видео про мультипроцессинг в вашем исполнении! Спасибо!

  • @ga2852
    @ga2852 Месяц назад +1

    Привет. Большое спасибо за видео!

  • @MioGesa-md2ul
    @MioGesa-md2ul Месяц назад +1

    Спасибо, комментарий для повышения вовлеченности для канала

  • @Dryagin_Andry
    @Dryagin_Andry 2 месяца назад

    Очень хорошо объяснена логика построения рекурсивной функции

  • @tryhard114
    @tryhard114 2 месяца назад +3

    УРА!!!

  • @alexchto
    @alexchto 2 месяца назад

    Спасибо за ликбез. Наконец-то усвоил рекурсию

  • @Trezvy_Papa
    @Trezvy_Papa Месяц назад

    После Лутца не дошло, после "поколение пайтон" не дошло, после вас дошло(надеюсь). Благодарю!

  • @nicsolov9821
    @nicsolov9821 Месяц назад +2

    Здорово! Ну раз тут есть элементы ии.
    Мне бы очень хотелось узнать, что ВЫ думаете об ии? Замене разрабов и тд?

    • @PythonRussian
      @PythonRussian  Месяц назад

      разрабов не заменить, помочь им ИИ сможет и то с осторожностью к результатам, не более того. Может сниму как-нибудь видео об этом

    • @nicsolov9821
      @nicsolov9821 Месяц назад +3

      @@PythonRussianСпасибо! Я бы посмтрел ваше полное мненеи в видео формате. А то появляются там всякие Девиды:) Хорошего вечера!

  • @bolkonsky2340
    @bolkonsky2340 Месяц назад

    Действительно тот человек, который довольно подробно разжевывает каждую тему. С кайфом бы смотрел и двухчасовые выпуски, но это конечно утопия для автора канала в ютубе. Пусть зачастую и знаю тему ролика, но просто приятно посмотреть хорошее объяснение)

  • @barma1309
    @barma1309 21 день назад

    Супер

  • @benben-fz2es
    @benben-fz2es 2 месяца назад +2

    Это новая фича пайчарма 2024 - ai driven подсказки? Немного раздражает...
    Хорошая тема для новичков, спасибо за усилия
    (комментарий ради комментария 😊)

    • @PythonRussian
      @PythonRussian  2 месяца назад +2

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

    • @benben-fz2es
      @benben-fz2es 2 месяца назад +1

      @@PythonRussian мне тоже мешал. Хотя для документирования уже написанного кода он бы, наверное, зашел хорошо. То есть редактор (в издательском смысле) каментов

    • @alei1180_
      @alei1180_ 2 месяца назад

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

    • @Trezvy_Papa
      @Trezvy_Papa Месяц назад

      Неее, с такими подсказками новички совсем перестанут думать.

  • @py_dev
    @py_dev Месяц назад

    привет! как к немногочисленному прогеру на ютубе, хочу задать вопрос, будет ли урок по докеру? возможно, работа с докером через пайчарм с приложениями джанго? единственный внятный и понятный урок по настройке гита через пайчарм был тут, поэтому уточняю тут :)))

    • @PythonRussian
      @PythonRussian  Месяц назад +1

      привет, я об этом не думал, у меня же контент больше для начинающих а им докер ни к чему... но я подумаю, вернее в список добавлю, но быстро не обещаю. Может отдельный плейлист снять по инструментам и фишкам для продвинутых питонистов

    • @py_dev
      @py_dev Месяц назад

      @@PythonRussian было бы отлично, спасибо! :)

  • @AlexRootx
    @AlexRootx 2 месяца назад +1

    Никогда на 100% нельзя доверять ИИ)))

    • @PythonRussian
      @PythonRussian  2 месяца назад

      да я его (плагин) только поставил, сам не ожидал такой прыти, мешался под ногами))

    • @AlexRootx
      @AlexRootx 2 месяца назад

      @@PythonRussian уж сильно он надоедливый... иногда с толку сбивает... Отключил его, от греха подальше)

  • @user-xb8pd9jw6g
    @user-xb8pd9jw6g Месяц назад

    духота