Cómo entender funciones recursivas en Python
La mayoría de los lenguajes de programación admiten la autollamada de funciones. En estos lenguajes, una función puede implementar la recursividad llamándose a sí misma. La teoría computacional demuestra que la recursividad se puede usar para reemplazar completamente los bucles, por lo que en muchos lenguajes de programación funcionales (como Scheme), las personas están acostumbradas a usar la recursividad para implementar bucles.
El informático Niklaus Wilt describe la recursividad de esta manera:
El poder de la recursividad es que permite al usuario describir un número ilimitado de objetos utilizando un número limitado de declaraciones. Así, en informática, la recursividad se puede utilizar para describir una operación en un número infinito de pasos, incluso si el programa que describe la operación es finito.
Las funciones recursivas de Python 2 no son esencialmente diferentes de otros lenguajes, excepto que no admiten la recursividad de cola. El máximo de recursividad infinita es fijo, pero puede modificarse.
Autor: Huang