Dan*_*niz 1 python if-statement
我总是对Python有这种好奇心,我找不到一个明确的答案,也许有人可以帮助我什么是"if","elif"和"else"优先级和工作方式?如果我做:
if conditionA:
do something
elif conditionB:
do something else
else:
do something else
Run Code Online (Sandbox Code Playgroud)
"其他"是否检查"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'
Run Code Online (Sandbox Code Playgroud)
甚至third不打印,因为第二个是真的.第三个是真的并不重要,因为它甚至没有被评估.
如果您正在调用函数,这也会产生一些副作用:
if send_email(to_coworker):
pass
elif send_email(to_boss):
pass
Run Code Online (Sandbox Code Playgroud)
假设函数返回True成功,那么发给你老板的电子邮件只会发送给你的同事的电子邮件失败,即使需要调用该函数来评估elif条件