if節を終了する方法 質問する

if節を終了する方法 質問する

条項を早期に終了するにはどのような方法がありますか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

  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()
    ...

おすすめ記事