标点符(钱魏 Way)

Python执行时的递归深度问题

在Python执行递归函数时,会报如下错误:

导致此问题的原因是为了防止堆栈溢出,Python中对于递归的深度有限制,默认为1000,程序执行到900多的样子,就会引发异常。查询递归深度方法:

如果递归深度不是非常的深,可以尝试手动设置递归深度限制,具体如下:

注意,设置递归深度太深非常容易导致栈溢出,建议采用while…do…语句进行替换。

 

码字很辛苦,转载请注明来自标点符《Python执行时的递归深度问题》

评论

  1. qiujiayu #1

    可以使用 尾调用 方案来优化

    回复
    2017-08-8