什么是递归函数?
定义:一个函数在其函数体内调用了函数本身,那么这个函数就称为递归函数
递归函数的重要部分:
递归的调用以及递归的终止条件
递归的调用过程:
(1)每调用完一次函数,会在栈上分配一个栈帧
(2)每次执行完一个函数,就会释放其申请的内存空间
例如:
计算某个数字的阶乘
def fun2(n):
if n == 1:
return 1
else:
return n * fun2(n - 1)
print fun2(4) #结果为:24
斐波那契数列
def fun(n):
if n == 1:
return 1
elif n == 2:
return 1
else:
return fun(n - 1) + fun(n - 2)
print fun(6) #结果为:8