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

原文地址:https://www.cnblogs.com/xinin0909/p/9575489.html