RuntimeError: maximum recursion depth exceeded while calling a Python object
大意是调用 Python 对象时超出最大深度限制
Python的递归深度
Python语言默认的递归深度是很有限的,当递归深度超过值的时候,就会引发RuntimeError异常。
Python专门设置的一种机制用来防止无限递归造成Python溢出,这个值理论上1000,实际运行时在900多次时就会报错。
解决方法
最大递归次数是可以重新调整的。解决的方式是手工设置递归调用深度:
import sys
sys.setrecursionlimit(1000000) #执行这个代码后,递归深度调整到1000000层,基本上够用了。
其他办法:
- 递归是个好东西,但是要少些,太耗费内存。容易溢出,所以递归的改成非递归的即可。