コンテンツにスキップ

Python関数の戻り値を理解する方法

CodeMDD.io

Pythonのreturn文:使い方とベストプラクティス

Pythonのreturn文は、関数やメソッドの重要な構成要素です。return文を使用することで、関数から呼び出し元のコードにPythonオブジェクトを返すことができます。これらのオブジェクトは、プログラム内でさらなる計算を行うために使用することができます。

効果的にreturn文を使用することは、Pythonicで堅牢なカスタム関数をコーディングするための核となるスキルです。

このチュートリアルでは、次のことを学びます:

  • 関数内でPythonのreturn文を使用する方法
  • 関数から単一の値や複数の値を返す方法
  • return文を使用する際のベストプラクティス

Python関数の基本となる要素の把握

ほとんどのプログラミング言語では、具体的な計算を実行するコードブロックに名前を付けることができます。これらの名前を使用して、コード内の異なる場所からそれらを呼び出すことができるため、これらの名前付きコードブロックを素早く再利用することができます。

プログラマは、これらの名前付きコードブロックをサブルーチンルーチン手続き、または関数と呼びます。

Pythonでは、関数はdefキーワードを使用して定義されます。以下は、単純な関数の定義の例です:

def add_numbers(a, b):
return a + b

この例では、add_numbersという名前の関数が定義されています。この関数は、2つの引数abを受け取り、それらの値の合計を返します。

関数の本体は、コロン(:)で始まるブロックです。このブロックの中で、関数が実行する計算や操作を指定します。return文を使用して、関数の結果となる値を返すことができます。

関数の呼び出しは、関数名の後に丸括弧(())を使用して行います。以下は、関数add_numbersを呼び出す例です:

result = add_numbers(2, 3)
print(result) # Output: 5

この例では、add_numbers(2, 3)という関数呼び出しを行い、その結果をresult変数に代入しています。そして、print関数を使用して結果を表示しています。

Pythonの関数は、他のプログラミング言語と同様に、引数を持つこともありますし、返り値を持たないこともあります。return文を使用することで、関数が呼び出し元に結果を返すことができます。

Pythonのreturn文の理解

Pythonのreturn文は、関数の実行中に関数から呼び出し元に戻ることを指定します。return文を使用することで、関数が実行された結果となる値やオブジェクトを返すことができます。

Pythonのreturn文には2つの形式があります:

  1. 明示的なreturn
  2. 暗黙的なreturn

明示的なreturn

明示的なreturn文は、returnキーワードの後に返したい値やオブジェクトを指定する形式です。以下は、明示的なreturn文を使用して値を返す関数の例です:

def add_numbers(a, b):
return a + b

この関数は、引数abの値の合計を返します。

明示的なreturn文は、関数が実行中に出現すると、関数の実行はそこで終了し、指定された値が呼び出し元に返されます。

暗黙的なreturn

暗黙的なreturn文は、returnキーワードの後に値やオブジェクトが指定されていない形式です。この場合、関数は終了し、特定の値を返さずに呼び出し元に戻ります。

暗黙的なreturn文は、関数の本体内で最後に実行されるコード行において、returnキーワードを省略することによって表されます。以下は、暗黙的なreturn文を使用する関数の例です:

def say_hello():
print("Hello, world!")

この関数は、単純に”Hello, world!”というメッセージを表示するだけで、戻り値はありません。

暗黙的なreturn文は、関数が実行を終了させたいが、特定の値を返す必要がない場合に使用されます。

returnprintの違い

関数内で値やオブジェクトを呼び出し元に返す際に、return文とprint文は異なる動作をします。

print関数は、関数の呼び出し元に対して値やオブジェクトの内容を表示しますが、実際にその値やオブジェクトを返しません。

一方、return文は、関数の呼び出し元に値やオブジェクトを返します。返された値やオブジェクトは、変数に代入したり、他の計算や処理に使用したりすることができます。

以下は、print文とreturn文の違いを示す例です:

def print_hello():
print("Hello, world!")
def return_hello():
return "Hello, world!"
print_hello() # Output: Hello, world!
result = return_hello()
print(result) # Output: Hello, world!

print_hello関数は、単純に”Hello, world!”というメッセージを表示するだけです。return_hello関数は、“Hello, world!”という文字列を返します。

複数の値を返す

Pythonのreturn文は、単一の値だけでなく、複数の値やオブジェクトを返すこともできます。複数の値を返す場合は、カンマで区切って値を指定します。

以下は、複数の値を返す関数の例です:

def get_name_and_age():
name = "Alice"
age = 25
return name, age
result = get_name_and_age()
print(result) # Output: ('Alice', 25)

この例では、get_name_and_age関数がnameageの2つの値を返します。return文の後に複数の値を指定することで、複数の値を1つのオブジェクトとして返します。

呼び出し元では、返された複数の値を受け取るために変数を使用します。この例では、result変数に返された値を代入しています。

Pythonのreturn文のベストプラクティス

Pythonのreturn文を効果的に使用するためには、以下のベストプラクティスに従うことが重要です:

  • 明示的にNoneを返す
  • 返り値を覚えておく
  • 複雑な式を避ける
  • グローバル変数の変更よりも値の返却を優先する
  • 条件文と組み合わせてreturnを使用する
  • TrueまたはFalseを返す
  • ループを短絡させる
  • 死コードを認識する
  • 複数の名前付きオブジェクトを返す

これらのベストプラクティスにより、コードの可読性、保守性、効率性が向上し、バグの発生を防ぐことができます。

まとめ

このチュートリアルでは、Pythonのreturn文について学びました。return文を使用することで、関数から値やオブジェクトを返すことができます。

具体的には、関数の定義と使用、明示的なreturn文と暗黙的なreturn文、return文とprint文の違い、複数の値を返す方法、return文のベストプラクティスなどについて説明しました。

これらの知識を活用して、Pythonでより効果的な関数を作成することができるでしょう。

Quizを受ける »

このチュートリアルは、Pythonプログラマを対象にした無料のコース「Pythonのマスタリーについての5つの考え方」に関連する動画コースと共に提供されます。このコースでは、Pythonのスキルを向上させるためのロードマップや基本思考が紹介されています。

もしご興味があれば、ぜひご覧ください。

この記事をシェアする:

関連するビデオコース: