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

为何Python函数中if条件为True时,后续return语句仍会执行?

问题解答:为何if条件为True时后续代码仍执行?

首先,你误解了代码结构——所谓的"else块"根本不是else分支的一部分,Python只会识别else关键字,注释不会影响代码逻辑。

看你的代码:

def foo():
    if 1 > 0:
        print('Works first condition!')
    # 这里只是注释,不属于else语法范畴
    return print('Works second condition!')   

print(foo())

当if 1>0条件成立时,会执行if块内的print('Works first condition!'),执行完if块后,程序会继续向下执行后续代码——那行return print(...)和if没有分支关联,不管if条件是否成立,只要没提前触发return,都会被执行。

另外,函数返回None的原因是:print()函数本身执行后返回的就是None,你用return print(...),相当于先调用print输出内容,再把print的返回值(None)作为foo()函数的返回值,最后外层的print(foo())会把这个返回值打印出来,所以输出里会出现None。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 02:44:55