Что такое рекурсивная функция в Python?

Аватар пользователя Карина Абдуллаева
Карина Абдуллаева
16 декабря 2022

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

def factorial(n):
    # терминальное условие, которое остановит рекурсию
    if n <= 0:
        return 1
    # рекурсивный вызов
    return n * factorial(n - 1)

factorial(5)
# 120
# тоже самое, что 5 * 4 * 3 * 2 * 1

Дополнительно можно посмотреть вот это короткое видео, тут очень понятно объясняется понятие рекурсии (с 2:45 примерно)

3 0