Skip to main content
 首页 » 编程设计

python之if, elif 和 else.. 优先级和链

2025年05月04日15Leo_wl

我一直对 Python 有这种好奇心,但我找不到明确的答案,也许有人可以帮助我 “if”、“elif”和“else”的优先级和工作方式是什么? 如果我这样做:

if conditionA: 
    do something 
elif conditionB: 
    do something else 
else: 
    do something else 

“else”是检查“elif”中的条件还是同时检查“if”和“elif”的条件? 是否有任何有趣的顺序可以使用它们(例如 if、else、elif、else 等)? 谢谢

请您参考如下方法:

else 是所有 if 和 elif 语句都为假之后的包罗万象。将它放在中间会出现语法错误。

不要想着else“检查条件”。将其视为控制流甚至不会到达 else 如果其他人为真。多个elif也是如此。

考虑一下:

if False: 
    print 'first' 
elif True: 
    print 'second' 
elif True: 
    print 'third' 

即使 third 也不会打印,因为第二个是真的。第三个是否为真并不重要,因为它甚至没有被评估。

如果您正在调用函数,这也会产生一些副作用:

if send_email(to_coworker): 
    pass 
elif send_email(to_boss): 
    pass 

假设该函数在成功时返回 True,只有在给您同事的电子邮件失败时才会发送给您老板的电子邮件,即使需要调用该函数来评估elif条件