1.函数的递归的定义

函数的递归调用:是函数嵌套调用的一种特殊形式

具体是指:在调用一个函数的过程中又直接或者间接的调用到本身,是一个死循环,最大递归是1000次,超出之后报错。

2.函数递归的调用

# 直接调本身
def f1():
    print('是我还是我')
    f1()
f1()

# 间接调用
def f1():
    print('f1')
    f2()

def f2():
    print('f2')
    f1()

作用:一段代码的循环运行方式的方案有两种
1.是while true循环
2.函数的递归–return结束函数的调用

3.递归调用的两个阶段

回溯:一层一层调用下去
递推:满足某种结束条件,结束递归调用,然后一层一层返回

递归调用的案列

l=[1,[1,2],[1,[1,2],[1,2,3]]]
# 需求把l里面的数据打散取出来
def f1(l):
    for x in l:
        if type(x) is list: #如果循环出来的是列表则继续循环判断
            f1(x) 
        else:
            print(x)