有哪些方法可以提前退出if条款?
if
有时候,我在编写代码时想要将break语句放在子句中if,但却记得这些只能用于循环。
break
让我们以下面的代码为例:
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 子句,我认为退出会跳过它们。
此方法适用于ifs、多重嵌套循环以及其他您无法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() ...