如何在Python中增加最大递归深度?

如何在Python中增加最大递归深度?,python,recursion,stack-overflow,Python,Recursion,Stack Overflow,今天课堂上有一个关于递归和堆栈溢出的有趣话题,我想知道是否有任何方法可以增加Python中的最大递归深度?编写了一个快速函数,用于使用递归查找n的阶乘: def factorial(n): if n == 1: return n else: return n * factorial(n-1) 它可以处理阶乘(994),但不能处理阶乘(995)。给出的错误是: RuntimeError: maximum recursion depth exceed

今天课堂上有一个关于递归和堆栈溢出的有趣话题,我想知道是否有任何方法可以增加Python中的最大递归深度?编写了一个快速函数,用于使用递归查找n的阶乘:

def factorial(n):
    if n == 1:
        return n
    else:
        return n * factorial(n-1)
它可以处理阶乘(994),但不能处理阶乘(995)。给出的错误是:

RuntimeError: maximum recursion depth exceeded in comparison

显然,可以迭代地找到更高的阶乘,但是,为了论证和阴谋,最大递归深度可以增加吗?

注意,这里避免过多递归的标准方法是使用记忆。不,这里没有仇恨。我们都是来帮助别人的。被骗而结束并不意味着我们恨你。如果有必要使用递归实现阶乘程序,那么一切都会好起来。您可以按照下面的方式实现它,使用python可以不受任何限制地查找阶乘。
import sys

sys.setrecursionlimit(2000)
import sys

iMaxStackSize = 5000
sys.setrecursionlimit(iMaxStackSize)