Hoy vamos a hablar de las llamadas recursivas (o recursividad) en Python.
Las funciones recursivas son aquellas que dentro de su algoritmo, hacen referencia a sí misma.
Suelen ser muy útiles en casos muy puntuales, pero debido a que al usarlas podemos caer en unos preciosos bucles infinitos, debemos extremar su programación y solo usarlas cuando sea estrictamente necesario y no haya otra forma alternativa programable para evitar la recursividad.
Python admite las llamadas recursivas permitiendo a la función llamarse a sí misma de la misma forma que lo haríamos cuando llamamos a otra función.
Ejemplos de recursividad en Python
En este ejemplo, creamos una función para saber el factorial del número 7. Por si no lo sabéis, el factorial de un número se obtiene multiplicando todos los números enteros y positivos entre el número 7, en este caso y el número 1. Es decir, 1 * 2 * 3 * 4 * 5* 6 * 7. Donde tras comprobar que el número no sea 1, vuelve a llamarse a sí misma para obtener el factorial de 7.
Veamos otro ejemplo más sencillo.
En esta función programamos un pequeño juego donde tenemos tres intentos para adivinar el color del limón. Tras comprobar que no hemos superado los intentos, generamos la llamada recursiva para volver a lanzar la función hasta que intento sea superior a 3.
Recuerda que puedes aprender funciones como esta y mucho más con nuestro Máster en Programación avanzada en Python para BigData, Hacking y Machine Learning.