1. ホーム
  2. python

[解決済み] if 節の終了方法

2022-07-13 07:17:47

質問

を早期に終了させる方法にはどのようなものがありますか? if 節を早期に終了させる方法にはどのようなものがあるでしょうか?

コードを書いているときに、"co "と "co "の間に 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 節がある場合、exiting はそれらをスキップすると考えています。

どのように解決するのですか?

(この方法は 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()
    ...