0
点赞
收藏
分享

微信扫一扫

递归调用

ITWYY 2021-09-28 阅读 94
Python

递归调用是一种特殊的嵌套调用,是指某个函数调用自己或者调用其他函数后再次调用自己。由于不能无限嵌套调用,所以某个递归函数一定存在至少两个分支,一个是退出嵌套,不再直接或者间接调用自己;另外一个则是继续嵌套。一般通过函数的输入参数来决定走哪个分支,所以递归函数一般都是带有参数的。

最常见的递归用法是求一个整数的阶乘,如2的阶乘等于1×2,3的阶乘等于1×2×3。

默认情况下,函数调用深度的最大值为1000,如果达到或者超过1000就会出现错误信息。可以通过下面的代码来查看该系统的设置。

>>> import sys

>>> sys.getrecursionlimit() # 得到最大调用深度

如果希望修改该系统值,也可以通过sys模块的接口函数来实现。如希望最大函数调用深度为10000,那么可以使用下面的代码进行修改:

>>> import sys

>>> sys.setrecursionlimit(10000) # 设定最大调用深度

例子:

1.斐波拉契级数

有这样一个数列:1,1,2,3,5,8,13,21,34…。其第一元素和第二个元素等于1,其他元素等于其前面两个元素的和。

举报

相关推荐

0 条评论