Esta nota es una continuación de una anterior, donde te empezamos a explicar que es la recursividad en Python. Te sugerimos que antes de continuar leyendo, veas la primer nota. Ahora, como parte del curso de Python te explicamos más del tema.
Cada llamada de función multiplica el número con el factorial del número 1 hasta que el número sea igual a uno. Esta llamada recursiva se puede explicar en los siguientes pasos.
calc_factorial(4) # 1st call with 4
4 * calc_factorial(3) # 2nd call with 3
4 * 3 * calc_factorial(2) # 3rd call with 2
4 * 3 * 2 * calc_factorial(1) # 4th call with 1
4 * 3 * 2 * 1 # return from 4th call as number=1
4 * 3 * 2 # return from 3rd call
4 * 6 # return from 2nd call
24
Aquí nuestra recursión termina cuando el número se reduce a 1. Esto se llama condición básica.Cada función recursiva debe tener una condición base que detenga la recursividad o, de lo contrario, la función se llama a sí misma infinitamente.
Ventajas de la recursividad en Python
Las funciones recursivas hacen que el código se vea limpio y elegante.
Una tarea compleja se puede dividir en subproblemas más simples mediante la recursividad.
La generación de secuencias es más fácil con la recursión que con alguna iteración anidada.
Desventajas de la recursividad en Python
A veces, la lógica detrás de la recursión es difícil de seguir.
Las llamadas recursivas son caras (ineficientes) ya que ocupan mucha memoria y tiempo.
Las funciones recursivas son difíciles de depurar.
Hasta aquí llegamos con este tema. Te mencionamos que continuaremos trabajando en nuestros cursos del diseño web, como HTML y JavaScript. También completaremos nuestro curso de Java. Esto tres ayudará a mejorar toda opciones de programación.