递归
1. 递归的定义
- 递归应用在函数上就是函数体内部有自己本身的调用,简单来说就是自己调用自己
- Python3默认递归深度最大为100,超过100会报递归深度超过的错误,可以自己设置递归深度
- 效率不高,消耗栈资源
- 必须有返回条件
格式(求 n 的阶乘)
def recursion(n):
if n == 1:
return 1
else:
return n * recursion(n - 1)
print(recursion(3))
2. 递归与普通循环的比较
- 递归所需的时间比普通循环多很多,由于递归深度原因,暂时演示不了
3. 递归的使用场景
- 递归主要应用在一些科学计算上,比如汉诺塔
4. 设置递归深度
sys.setrecursionlimit(3000)