Python笔记:函数的递归
递归函数 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
浙公网安备 33010602011771号