[Faster R-CNN] 项目中涉及到的python小知识(一):递归

项目中涉及到的两行代码:

import sys
sys.setrecursionlimit(40000) #设置最大递归次数为40000

分析:
先看个简单的递归函数:

def recursion(n):
    print(n)
    n += 1
    recursion(n)
recursion(1)

若不设置的话,只能打印到996-998,就报错:RecursionError: maximum recursion depth exceeded in comparison
见下图:
这里写图片描述

如果998的递归深度不能满足要求,就得加句代码:
sys.setrecursionlimit(40000)
不过括号里最大也大约只能填40000,是因为python支持的最大递归也就约3998,就是填1000000,也是只能递归到3998

这是python专门设置的一种机制用来防止无限递归造成Python溢出崩溃, 最大递归次数是可以重新调整的。

猜你喜欢

转载自blog.csdn.net/weixin_41196817/article/details/82459895