019 Python语法之递归

递归

1. 递归的定义

  1. 递归应用在函数上就是函数体内部有自己本身的调用,简单来说就是自己调用自己
  2. Python3默认递归深度最大为100,超过100会报递归深度超过的错误,可以自己设置递归深度
  3. 效率不高,消耗栈资源
  4. 必须有返回条件

格式(求 n 的阶乘)

def recursion(n):
    if n == 1:
        return 1
    else:
        return n * recursion(n - 1)


print(recursion(3))

2. 递归与普通循环的比较

  1. 递归所需的时间比普通循环多很多,由于递归深度原因,暂时演示不了

3. 递归的使用场景

  1. 递归主要应用在一些科学计算上,比如汉诺塔

4. 设置递归深度

sys.setrecursionlimit(3000)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容