Python 関数: return ステートメントの詳細
多くの Python プログラマーは、return None を使用するか、return ステートメントを使用するか、return ステートメントを使用しないかを選択するというジレンマに直面しています。関数を書くときはまったく。この記事では、これらのアプローチの微妙な違いを調査し、それぞれがいつ適切であるかについてのガイダンスを提供します。
関数トリオ:
次の 3 つの関数について考えてみましょう:
def my_func1(): print("Hello World") return None def my_func2(): print("Hello World") return def my_func3(): print("Hello World")
一見すると、3 つの関数はすべて None を返すように見えます。ただし、詳しく調べると、それらの動作には微妙な違いがあります。
return None の使用:
これは、関数が値を返すように設計されていることを明示的に示しています。この場合はなし。この値は、後でコード内の他の場所で利用できます。 return None は通常、関数が提供する特定の戻り値がある場合に使用されます。
たとえば、次の関数は、人間の場合は母親を返し、それ以外の場合は None を返します。
def get_mother(person): if is_human(person): return person.mother else: return None
return の使用:
これは、ループ内の Break ステートメントと同様に機能します。これは主に関数の実行を終了するために機能しますが、戻り値は重要ではありません。頻繁に必要になるわけではありませんが、特定のシナリオでは return が役立つことがあります。
囚人のグループの中からナイフを持った囚人を探すこの例を考えてみましょう。
def find_prisoner_with_knife(prisoners): for prisoner in prisoners: if "knife" in prisoner.items: prisoner.move_to_inquisition() return # No need to check the remaining prisoners or raise an alert raise_alert()
関数の戻り値は、それ以降の使用を目的としていないため、変数に代入しないでください。
Using No returnステートメント:
このアプローチでも None が返されますが、これは関数が特定の戻り値なしで正常に終了したことを意味します。これは基本的に、C や Java などの言語の void 関数の return と同じ役割を果たします。
def set_mother(person, mother): if is_human(person): person.mother = mother
結論:
3 つのメソッドはすべて、最終的には None を返しますが、明確な目的を果たします。 return None は、特定の戻り値を伝える必要がある場合に使用されます。 return は関数の実行を明示的に終了するために使用され、return ステートメントを使用しない場合は、指定された戻り値なしで関数が正常に完了したことを示します。
以上がPython 関数: Return None、Return、または No Return ステートメント - どれを使用する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。