何时在Python中使用if vs elif

何时在Python中使用if vs elif,第1张

何时在Python中使用if vs elif

我将把我的评论扩展到一个答案。

在所有情况都返回的情况下,这些确实是等效的。在它们之间进行选择时变得重要的是更具可读性。

您的后一个示例使用该

elif
结构来明确声明案例是互斥的,而不是依赖于案例是从收益中隐含的事实。这使得该信息更加明显,因此代码更易于阅读,并且不易出错。

举例来说,某人认为还有另一种情况:

def example(x):    if x > 0:        return 'positive'    if x == -15:        print("special case!")    if x < 0:        return 'negative'    return 'zero'

突然,如果用户希望这种情况是互斥的,则存在潜在的错误(显然,对于示例而言,这没有多大意义,但在更现实的情况下可能会发生)。如果使用

elif
s,则消除了这种歧义,并且使行为对于添加代码的人员可见(在他们添加代码时可能正在查看的级别)。

如果我遇到第一个代码示例,则可能会假设使用

if
s而不是
elifs
暗含案例 并非是
互斥的,因此诸如更改value之类的事情
x
可能会用于更改
if
s的执行(显然在这种情况的意图是显而易见的,并且是相互排斥的,但是再说一次,我们谈论的是不太明显的情况-
一致性很好,因此,即使在一个简单的例子中,显而易见的情况下,最好还是坚持一种方式。



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5617404.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存