您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

何时在Python中使用if vs elif

何时在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'

突然,如果用户希望这种情况是互斥的,则存在潜在的错误(显然,对于示例而言,这没有多大意义,但在更现实的情况下可能会发生)。如果使用elifs,则消除了这种歧义,并且使行为对于添加代码的人员可见(在他们添加代码时可能正在查看的级别)。

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

python 2022/1/1 18:26:44 有184人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶