为什么@lru_cache会导致深度递归栈溢出而普通递归不会? Python 的 lru_cache 并不是把原函数直接替换掉,而是在原函数外面加了一层缓存包装器。递归函数一旦被装饰,每次递归调用都会先进入包装器,缓存未命中时再由包装器调用原函数,原函数内部的下一次递归又回到包装器。这样每一层递归路径上都多出一次包装调用:在纯 Python 实现中... 栏目:Python 时间:09-26 LRU_cache 深度递归 栈溢出