递归函数 recursion
递归是指函数直接或间接的调用自身
递归实例:
#函数直接调用自身 def f(): f()直接调用自身 f() print(“递归完成”) #函数间接调用自身 def fa(): fb() def fb(): fa() fa() print(“递归完成”)
递归说明:
递归一定要控制递归的层数,当符合某一条件时要终止递归调用
几乎所有的递归都可以用while循环代替
递归的优缺点:
优点:
可以把代码简单化,让思路更清晰,代码更简洁
缺点:
递归因系统环境影响大,当递归深度太大时,可能会得到不可预知
的结果
递归调用分为两个阶段:
递推阶段:
从原问题出发,按递归公式递推,从未知到已知,最终到达递归终止条件
回归阶段
按递归终止条件求出结果,逆向逐步代入递归公式,回归到原问题求解
(每次局部变量都会开启新的变量空间,结束时会销毁局部变量)(Python的垃圾回收机制)
#限制递归层数的实例 recursion2 def fx(n): print("递归进入",n,'层') if n==3: return fx(n+1) print("递归出", n, '层') fx(1) print("程序结束")
如果想要了解递归对一些实际问题的操作,欢迎看我下一篇文章https://www.cnblogs.com/xinin0909/p/9575666.html