return | 関数から値を返す | Python予約語 徹底解説 使い方と注意点

現在作成中です。今後加筆修正してまいります。
スポンサーリンク
スポンサーリンク

Pythonの予約語「return」の解説

returnとは何か

returnは、Pythonで関数から値を返すための予約語です。return文を使うことで、関数の実行結果を呼び出し元に返すことができます。返された値は、後続の処理や他の関数で利用されることが一般的です。

returnの基本的な使い方

以下は、returnを使って関数から結果を返す基本的な例です。

def add_numbers(a, b):
    return a + b  # 引数aとbの合計を返す

result = add_numbers(3, 5)
print(result)  # 出力: 8

このコードでは、関数add_numbersが2つの引数の合計を返しています。return文によって返された値は、resultに代入され、printによって表示されます。

複数の値を返す

Pythonでは、return文を使って複数の値を返すことも可能です。複数の値を返す場合、それらはタプルとして返されます。

def divide_and_remainder(dividend, divisor):
    quotient = dividend // divisor
    remainder = dividend % divisor
    return quotient, remainder  # 商と余りを返す

q, r = divide_and_remainder(10, 3)
print(f"商: {q}, 余り: {r}")  # 出力: 商: 3, 余り: 1

この例では、関数divide_and_remainderが商と余りの2つの値を返します。呼び出し元では、2つの値をそれぞれqrに分解して受け取っています。

return文を省略した場合

関数内にreturn文がない場合やreturn文が実行されない場合、Pythonは自動的にNoneを返します。次の例でその動作を確認できます。

def no_return():
    pass  # 何も返さない

result = no_return()
print(result)  # 出力: None

このコードでは、関数no_returnが何も返さないため、結果としてNoneが返されます。

return文の位置と関数の終了

return文が実行されると、その時点で関数の実行が終了し、後続のコードは実行されません。次の例を見てみましょう。

def early_return():
    print("このメッセージは表示されます")
    return
    print("このメッセージは表示されません")

early_return()

このコードでは、return文の後にあるprint文は実行されません。return文によって関数が即座に終了するためです。

returnの動作まとめ

以下に、return文の動作をまとめた表を示します。

シチュエーション 動作
値を返す 指定された値を返す。呼び出し元で結果を利用可能。
複数の値を返す 複数の値をタプルとして返す。
returnがない場合 Noneが自動的に返される。
関数終了 return文の実行で関数の処理が終了し、後続のコードは実行されない。

returnの応用例

次の例は、return文を使って再帰関数を実装する際の典型的なパターンです。returnを使用して再帰的に処理結果を返しています。

def factorial(n):
    if n == 0:
        return 1
    else:
        return n * factorial(n - 1)

result = factorial(5)
print(result)  # 出力: 120

このコードでは、factorial関数が再帰的に呼び出され、return文を使って階乗の結果を計算しています。

まとめと注意点

  • returnは、関数の結果を呼び出し元に返すために使用されます。
  • 複数の値を返すことも可能で、タプルとして返されます。
  • 関数内にreturnがない場合、Noneが自動的に返されます。
  • returnが実行されると、関数の実行は終了し、後続のコードは実行されません。
  • 再帰関数や条件分岐の結果を返す際にもreturnが役立ちます。