几个小例子来理解递归 一、 先来一点基础的认识: 1、递归是一个不断的将一个问题分成更小的子问题最终找到一个简单的基础问题,最后再由基础问题的解决逐步向上解决初始问题的过程。所以不难看出,递归其实是分为两部分的一个是向下的递推过程,另一个就是向上的回溯过程。 2、从上面我们已不难发现,在这个过程中,是存在着栈的先进后出的过程的。而二者的关系就是在调用函数的时候,python会分配一个栈帧来处理该函数的局部变量。当函数返回时,返回值就在栈的顶端,以供调用者访问。 这里需要注意的是:栈帧限定了函数所用变量的作用域。尽管反复调用相同的函数,但是每一次调用都会为函数的局部变量创建新的作用域。 形式上就