По многочисленным просьбам подписчиков поговорим о рекурсивных функциях, как они работают, как их правильно написать и каких ошибок избегать.
Рекурсивная функция всегда представлена комбинацией основного случая (base case) и рекурсивного вызова.
Предназначение рекурсии - разбивать/уменьшать поступившие данные до тех пор, пока не будет выполнено условие выхода.
В Python рекурсия ограничена глубиной стека (по умолчанию - 1000) и не оптимизирована
Частые ошибки:
- нет условия выхода (base case)
- нет return в одной из веток
- нет уменьшения данных
Читать:
Mark Lutz, fifth edition "Learning Python", Chapter 19, Advanced Function Topics
https://docs.python.org/3/library/sys.html#sys.setrecursionlimit
https://docs.python.org/3/library/exceptions.html#RecursionError
Присоединяйтесь к помощи каналу, будет интересно)
✔️Бусти https://boosty.to/python_russian/donate
✔️Юмани 410011506612886
Будь первым везде и всегда, включай уведомления о новых выпусках 🔔
Смотри там где удобно🤩
✔️ https://vk.com/python_russian
✔️ https://rutube.ru/channel/24346352/
✔️ https://dzen.ru/python_russian
✔️ https://www.youtube.com/c/PythonRussian
✔️ https://t.me/python_russian
#Python #PythonRussian #Recursion