小能豆

如何退出 if 子句

py

有哪些方法可以提前退出if条款?

有时候,我在编写代码时想要将break语句放在子句中if,但却记得这些只能用于循环。

让我们以下面的代码为例:

if some_condition:
   ...
   if condition_a:
       # do something
       # and then exit the outer if block
   ...
   if condition_b:
       # do something
       # and then exit the outer if block
   # more code here

我想到一种方法来做到这一点:假设退出情况发生在嵌套的 if 语句中,将剩余的代码包装在一个大的 else 块中。例如:

if some_condition:
   ...
   if condition_a:
       # do something
       # and then exit the outer if block
   else:
       ...
       if condition_b:
           # do something
           # and then exit the outer if block
       else:
           # more code here

问题在于,更多的出口位置意味着更多的嵌套/缩进代码。

或者,我可以编写代码,使if子句尽可能小,并且不需要任何退出。

有人知道退出条款的好方法/更好的方法吗if

如果有任何相关的 else-if 和 else 子句,我认为退出会跳过它们。


阅读 11

收藏
2024-10-23

共1个答案

小能豆

此方法适用于ifs、多重嵌套循环以及其他您无法break轻易获得的构造。

  1. 将代码包装在其自己的函数中。
  2. 而要break使用return

例子:

def some_function():
    if condition_a:
        # do something and return early
        ...
        return
    ...
    if condition_b:
        # do something else and return early
        ...
        return
    ...
    return

if outer_condition:
    ...
    some_function()
    ...
2024-10-23