递归函数
递归函数是指函数间接或者直接的调用了函数自身。
# 直接调用函数本身
def index():print('from index')index()index()# 间接调用函数
def index():print('from index')func()def func():print('from func')index()index()
我们尝试运行一下,发现在运行了一段时间会报错,这是python对我们内存的保护措施。官方提供的最大递归深度为1000左右,防止我们无线的递归导致内存溢出。
所以在使用递归时,我们应该设置让递归停下来的点。
def index(n):if n == 0:print('go!')returnprint(n)index(n - 1)index(5)## 运行结果
5
4
3
2
1
go!
##