You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python递归函数中为何此处的“else”语句是冗余的?

为什么这个递归函数里的else是冗余的?

先看去掉else后完全等价的代码:

def print_n(s, n):
    if n <= 0:
        return
    print(s)
    print_n(s, n-1)
print_n("spam", 5)

原因很直接:

  • 当if n <= 0的条件满足时,return语句会直接终止当前函数的执行,后面的print和递归调用根本不会被触发。
  • 只有当n > 0(也就是if条件不成立)的时候,才会执行后面的两行代码。
  • 这时候加else纯粹是画蛇添足——它包裹的代码本来就只会在if条件不满足时运行,有没有else逻辑完全一致,反而多了一层不必要的缩进,让代码显得冗余。

内容的提问来源于stack exchange,提问作者Tuff Fish

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 00:47:01