Python递归函数

Python递归函数,第1张

Python递归函数
  • 递归函数定义
  • 递归函数语法特点
  • 递归函数举例:

递归函数定义
  • 在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数。
递归函数语法特点
  • 函数中入口和出口必须设定,如果没有出口的话,会无法终止,死掉。

  • 自己调用自己。递归函数存在至少两个分支,一个是退出嵌套,不再直接或者间接调用自己;另外一个则是继续嵌套。

  • 先一层层实现递推拆解,递归每一次都是基于上一次进行下一次的执行,这叫递推。

  • 回溯:遇到终止条件时,则从最后往回返一级一级的把值返回来,这叫回溯。

递归函数举例:
import snoop
@snoop
def fact(n):
    if n==1:
        return 1
    else:
        return n * fact(n-1)
print(fact(3))

result:
14:27:22.69 >>> Call to fact in File "F:/study/python/qt_study/qt_project/simple.py", line 3
14:27:22.69 ...... n = 3
14:27:22.69    3 | def fact(n):
14:27:22.69    4 |     if n==1:
14:27:22.69    7 |         return n * fact(n-1)
    14:27:22.69 >>> Call to fact in File "F:/study/python/qt_study/qt_project/simple.py", line 3
    14:27:22.69 ...... n = 2
    14:27:22.69    3 | def fact(n):
    14:27:22.69    4 |     if n==1:
    14:27:22.69    7 |         return n * fact(n-1)
        14:27:22.69 >>> Call to fact in File "F:/study/python/qt_study/qt_project/simple.py", line 3
        14:27:22.69 ...... n = 1
        14:27:22.69    3 | def fact(n):
        14:27:22.69    4 |     if n==1:
        14:27:22.69    5 |         return 1
        14:27:22.69 <<< Return value from fact: 1
    14:27:22.69    7 |         return n * fact(n-1)
    14:27:22.69 <<< Return value from fact: 2
14:27:22.69    7 |         return n * fact(n-1)
14:27:22.69 <<< Return value from fact: 6

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/868868.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-13
下一篇 2022-05-13

发表评论

登录后才能评论

评论列表(0条)

保存