递归的定义
函数的递归调用:是函数嵌套调用的一种特殊形式。
具体是指:在调用一个函数的过程中又直接或间接地调用到本身。
直接调用本身:
def f1(): print('是我是我还是我') f1() f1()
间接调用本身:
def f1(): print('====>f1') f2() def f2(): print('===>f2') f1() f1()
递归的两个阶段
回溯:一层一层调用下去
递推:满足某种结束条件,结束递归调用,然后一层一层返回
例
def age(n): if n==1: return 18 return age(n-1)+10 res=age(5) print(res)
递归的应用
l=[1,2,3,4,[1,2,3,[4,5,6,7,[3,4,65,[6,7,8,[3,2,1]]]]]] def f1(list1): for x in list1: if type(x) is list: f1(x) else: print(x) f1(l)