python 递归函数

递归函数

 讲递归函数,首先要了解的就是,什么是递归

在一个函数中调用自身函数就是递归

递归如果写不好,是容易成为死循环的,所以python设置的默认递归深度是998次,当然也从内存方面考虑了,

毕竟递归函数是非常占用内存的

所以,如果递归的次数太多,就不适合使用递归来解决

递归的优点:会让代码变的简洁

递归的缺点:占内存

def age(n):
    if n == 4:
        return 40
    elif n > 0 and n < 4:
        return age(n+1) +2
print(age(1))

这就是一个简单的递归函数

定义一个函数age

当输出age(1)的时候,调用函数age,并给n传一个参数1,

继续向下 判断n是否等于4,  这时的n是1 不等于4

向下进行另一个判断,满足条件n > 0 and n < 4,继续向下在返回前 又一次调用age(n+1)  也就是age(1+1)  age(2)

这时又进行一次循环,不过这次n的参数是2

就这样,循环到n等于4的时候,得到一个返回值40

这时的age(4)就等于40

这个40再一层一层返回,每次回到调用它的地方进行+2再返回

一直到age(1)的时候,得到的返回值是46

 

posted @ 2018-01-19 20:11  GrandDarkness  阅读(385)  评论(0编辑  收藏  举报