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)
发布了151 篇原创文章 · 获赞 26 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/runnoob_1115/article/details/102680120