コンテンツにスキップ

Pythonチュートリアル:Pythonでreturnの役割は何ですか?

[

Pythonのreturn文とは

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

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

Pythonのreturn文の使い方について学ぶ

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

  • 関数内でPythonのreturn文を使用する方法
  • 関数から単一の値または複数の値を返す方法
  • return文を使用する際に遵守すべきベストプラクティス

これらの知識を身につけることで、Pythonでより読みやすく、保守しやすく、簡潔な関数を書くことができます。Pythonの関数に完全に初めて触れる場合は、このチュートリアルに入る前に「Pythonの関数を定義する」をチェックしてください。

Python関数の基本を理解する

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

プログラマは、これらの名前付きコードブロックをサブルーチン、ルーチン、手続き、または関数と呼びます。これらの言葉は、具体的な言語や文脈によって異なる場合があります。

Pythonでは、関数は次のように定義します:

def 関数名(引数):
処理
return 返り値

関数の定義は、defキーワードで始まり、関数名が続きます。引数は関数に渡される値であり、関数内での処理はコロン(:)の後に記述します。そして、return文によって関数から返される値が指定されます。

以下は、単純な足し算を行う関数の例です:

def add(a, b):
sum = a + b
return sum

この関数は、与えられた2つの数値を足し合わせ、その結果を返します。例えば、add(2, 3)を呼び出すと、5が返されます。

関数の呼び出しは、関数名の後に括弧を付けて行われます。引数がある場合は、括弧内に引数を指定します。例えば、add(2, 3)は関数addに引数23を渡し、結果の値を返します。

Pythonのreturn文の理解

Pythonのreturn文には2つのタイプがあります:

  1. 明示的なreturn文(Explicit return statements)
  2. 暗黙的なreturn文(Implicit return statements)

明示的なreturn文(Explicit return statements)

明示的なreturn文は、関数内のどの位置でも使用することができます。return文が実行された時点で、関数の実行はそこで終了します。

以下は、明示的なreturn文を使用して値を返す関数の例です:

def get_square(number):
square = number ** 2
return square

この関数は、与えられた数値の二乗を計算し、その結果を返します。例えば、get_square(4)を呼び出すと、16が返されます。

暗黙的なreturn文(Implicit return statements)

暗黙的なreturn文は、関数内で最後に評価された式の結果を返します。明示的なreturn文がない場合でも、Pythonは自動的に関数を終了するため、暗黙的なreturn文が働きます。

以下は、暗黙的なreturn文を使用して値を返す関数の例です:

def is_even(number):
if number % 2 == 0:
return True
else:
return False

この関数は、与えられた数値が偶数かどうかを判定し、結果をTrueまたはFalseとして返します。例えば、is_even(5)を呼び出すと、Falseが返されます。

return文と出力の違い

return文と出力(print文)は、似ているように見えますが、異なる目的で使用されます。

print文は、情報をコンソールに表示するために使用されますが、その結果は呼び出し元のコードに直接渡されません。一方、return文は、関数の呼び出し元に結果を返すために使用されます。これにより、呼び出し元は関数からの情報を活用して追加の処理を行うことができます。

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

def print_square(number):
square = number ** 2
print(square)
def get_square(number):
square = number ** 2
return square

print_square関数は、与えられた数値の二乗を計算し、その結果をコンソールに表示します。一方、get_square関数は同じ計算を行いますが、結果をreturn文で返します。

例えば、print_square(4)を呼び出すと、コンソールに16が表示されます。一方、get_square(4)を呼び出すと、関数から値16が返されます。

複数の値を返す

Pythonのreturn文では、ひとつの値だけでなく、複数の値を返すことも可能です。

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

def get_circle_properties(radius):
diameter = 2 * radius
circumference = 2 * 3.14159 * radius
area = 3.14159 * radius ** 2
return diameter, circumference, area

この関数は、与えられた半径に基づいて円の直径、円周、面積を計算し、これらの値をタプルとして返します。例えば、get_circle_properties(5)を呼び出すと、(10, 31.4159, 78.53975)というタプルが返されます。

複数の値を返す場合、return文ではカンマで区切られた値を指定します。呼び出し元では、戻り値を受け取るためにそれと同じ数の変数を使用することができます。

Pythonのreturn文を使用する際のベストプラクティス

return文を使用する際のベストプラクティスをいくつか紹介します:

  • 明示的にNoneを返す
  • 戻り値を覚えておく
  • 複雑な式を避ける
  • 戻り値とグローバル変数の修正を区別する
  • 条件文の中でreturnを使用する
  • TrueまたはFalseを返す
  • ループの早期終了を利用する
  • デッドコードを認識する
  • 複数の名前付きオブジェクトを返す

まとめ

Pythonのreturn文は、関数やメソッドにおいて重要な役割を果たします。return文を使用することで、関数から値を返すことができます。return文を効果的に使用することは、Pythonの関数を効率的かつ柔軟に記述するための基本的なスキルです。

このチュートリアルでは、Pythonのreturn文の使い方やベストプラクティスについて学びました。これらの知識を活用して、より高品質で効率的なPythonコードを書くことができるでしょう。