我一直对 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条件
