Sobes.tech
Back to questions
Junior — Middle
60

Можете объяснить принцип работы рекурсивных функций в языке Python?

Companies where asked
Employ City
Институт человека РОМИР

Answer from AI

sobes.tech AI

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

Принцип работы:

  • Функция вызывает сама себя с изменённым аргументом.
  • Каждый вызов создаёт новый фрейм в стеке вызовов.
  • Рекурсия должна иметь базовый случай (условие выхода), чтобы избежать бесконечных вызовов.

Пример вычисления факториала:

def factorial(n):
    if n == 0:
        return 1  # базовый случай
    else:
        return n * factorial(n - 1)  # рекурсивный вызов

print(factorial(5))  # Выведет 120

Здесь factorial(5) вызывает factorial(4), затем factorial(3) и так далее, пока не достигнет factorial(0), после чего начинается возврат значений вверх по стеку.