递归函数
讲递归函数,首先要了解的就是,什么是递归
在一个函数中调用自身函数就是递归
递归如果写不好,是容易成为死循环的,所以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