条項を早期に終了するにはどのような方法がありますか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
これを行うには、1 つの方法が考えられます。終了ケースがネストされた 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 句がある場合は、終了するとそれらがスキップされると考えられます。
ベストアンサー1
この方法はif
、 、複数のネストされたループ、および簡単には作成できないその他の構造に有効ですbreak
。
- コードを独自の関数でラップします。
- の代わりに
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()
...