如何避免栈溢出,python递归栈溢出

  如何避免栈溢出,python递归栈溢出

  说明

  使用递归函数的优点是逻辑简单明了,缺点是调用太深会导致堆栈溢出。

  1.调用堆栈溢出的方法通过尾部递归进行优化。其实尾递归和loop的效果是一样的。

  2.也可以把循环看作特殊的尾部递归函数。

  实例

  定义事实(n):

  returnfact_iter(n,1)

  deffact_iter(编号,产品):

  ifnum==1:

  返回产品

  returnfact_iter(数量-1,数量*产品)

  #fact的调用过程(5)

  ===fact_iter(5,1)

  ===fact_iter(4,5)

  ===fact_iter(3,20)

  ===fact_iter(2,60)

  ===fact_iter(1,120)

  ===120以上是python防止堆栈溢出的方法。希望对你有帮助。更多python学习方向:Python基础课程

  本教程运行环境:windows7系统,Python 3.9.1,DELL G3电脑。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: