目次
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つの値をそれぞれq
とr
に分解して受け取っています。
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
が役立ちます。