函数递归指的是重复的“直接调用或者间接调用”函数自己,是一种函数嵌套调用的表现形式python
直接调用:函数内置,直接调用函数自己函数
num = 1 def func(): global num print("递归深度", num) num +=1 func()
间接调用:两个函数之间相互调用间接形成递归操作系统
num = 1 def goo(): global num print('from goo...',num) num += 1 func() def func(): global num print('from func...',num) num += 1 goo()
递归深度:python中有递归深度,限制递归次数,通常在998左右,每一台的操做系统会根据硬盘来设置默认递归深度code
获取递归深度:先调用 获取操做系统资源的模块 import sys,而后sys.getrecursionlimit()查看当前递归深度blog
设置递归深度:先调用 import sys,而后设置sys.setrecursionlimit(深度值)递归
单纯的递归调用是没有任何意义的,想要递归有意义必须遵循的两个条件:资源
age5 == age4 + 2 age4 == age3 + 2 age3 == age2 + 2 age2 == age1 + 2 age1 == 18 # 回溯递推的结果
def age(n): if n == 1: return 18 # 这里写return才能实现回溯 return age(n - 1) + 2 res = age(5) print(res) # 26