相关疑难解决方法(0)

从Python代码中的方法打印当前调用堆栈

在Python中,如何从方法中打印当前调用堆栈(用于调试目的).

python debugging stack-trace

257
推荐指数
6
解决办法
11万
查看次数

为什么这段代码可以在 Python 3.6 上运行,但不能在 Python 3.7 上运行?

script.py

def f(n, memo={0:0, 1:1}):
    if n not in memo:
        memo[n] = sum(f(n - i) for i in [1, 2])
    return memo[n]

print(f(400))
Run Code Online (Sandbox Code Playgroud)

python3.6 script.py正确打印f(400),但随之而来的python3.7 script.py是堆栈溢出。f(501)递归限制在 3.6 和3.7 中达到f(334)

Python 3.6 和 3.7 之间发生了什么变化导致此代码提前超出了最大递归深度?

python stack-overflow recursion

6
推荐指数
1
解决办法
376
查看次数