一.概念:
**递归就是一个函数在它的函数体内调用它自身。**执行递归函数将反复调用其自身,每调用一次就进入新的一层。递归函数必须有结束条件。
当函数在一直递推,直到遇到递归临界点返回,这个墙就是结束条件。
所以递归要有两个要素,结束条件与递推关系
二.举例:
例1:
结果:
例2:
结果:
三.注意事项:
1.递归函数能实现的for循环都能实现;
2.递归函数非常占用内存,没调用一次自身,就会占用一块内存存储这个函数块;
3.递归函数有最大递归次数,因为第二点,python自身的保护机制,避免内存被塞满;
默认递归次数限制是1000次。当达到1000次后会报如下错误:相比之下超过了最大递归深度。