Добавить в корзинуПозвонить
Найти в Дзене
IT Start | Python

Рекурсия в Python

Введение Рекурсия — это концепция, при которой функция вызывает саму себя в своем теле. В данной статье узнаем как работает рекурсия в Python и рассмотрим пример её использования. Основы рекурсии Рекурсивная функция в Python состоит из двух частей: базового случая и рекурсивного случая. Базовый случай — это условие, при котором рекурсия прекращается, а рекурсивный случай — это часть, где функция вызывает саму себя. Пример рекурсии Рассмотрим простой пример вычисления факториала числа с помощью рекурсии. Факториал числа n (обозначается n!) — это произведение всех положительных целых чисел от 1 до n. Сначала создадим функцию с параметром n: def factorial(n): Внутри функции будет находиться условие, что если значение в переменной n равняется нулю, то функция вернёт единицу, иначе n будет помножена на рекурсивный вызов функции с переданным ей значением n-1: def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1) В этом примере базовым случаем является n == 0, а рекурсивны
Оглавление

Введение

Рекурсия — это концепция, при которой функция вызывает саму себя в своем теле. В данной статье узнаем как работает рекурсия в Python и рассмотрим пример её использования.

Основы рекурсии

Рекурсивная функция в Python состоит из двух частей: базового случая и рекурсивного случая. Базовый случай — это условие, при котором рекурсия прекращается, а рекурсивный случай — это часть, где функция вызывает саму себя.

Пример рекурсии

Рассмотрим простой пример вычисления факториала числа с помощью рекурсии. Факториал числа n (обозначается n!) — это произведение всех положительных целых чисел от 1 до n.

Сначала создадим функцию с параметром n:

def factorial(n):

Внутри функции будет находиться условие, что если значение в переменной n равняется нулю, то функция вернёт единицу, иначе n будет помножена на рекурсивный вызов функции с переданным ей значением n-1:

def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)

В этом примере базовым случаем является n == 0, а рекурсивным случаем — n * factorial(n-1).

Вызов рекурсивной функции

Теперь попробуем вызвать нашу функцию и получить факториал цифры 5:

def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)

print(factorial(5)) # Выводит результат: 120

В результате вызова функции factorial(5) происходит следующий рекурсивный вызов:

factorial(5) -> 5 * factorial(4) -> 5 * 4 * factorial(3) -> 5 * 4 * 3 * factorial(2) -> 5 * 4 * 3 * 2 * factorial(1) -> 5 * 4 * 3 * 2 * 1

Таким образом, результатом вычисления факториала числа 5 является число 120.

Заключение

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

В ходе статьи мы с Вами узнали что такое рекурсия в Python и как она работает. Надеюсь Вам понравилась статья, желаю удачи и успехов! 🙂

Мой курс по Python (50 видоуроков + дополнительные уроки)

Мой Telegram канал

Мой YouTube канал

Курс по созданию телеграм-ботов на Python с фреймворком Aiogram

Курс по созданию GUI на Python