Pythonで関数を学ぶと、print()で画面に文字を表示するだけでなく、関数が計算した結果を「手元に返して」ほしい場面が多くあります。例えば、計算結果を変数に保存したり、別の関数の引数として使ったりする場合です。
このように、関数から呼び出し元へ値を返す仕組みが戻り値(返り値)であり、そのために使われるのがreturn文です。この記事では、return文の基本的な使い方とその重要性を解説します。
戻り値とreturn文とは?
これまでの関数では、print()を使って関数内で処理を完結させていました。しかし、return文を使うと、関数は処理の「結果」を値として呼び出し元に返すことができます。この返される値のことを戻り値と呼びます。
return文が実行されると、関数はその時点で処理を終了し、指定された値を返します。
return文の具体的な使い方
ここでは、点数(score)に応じて評価メッセージを返す関数を例に、return文の動きを見てみましょう。
# 点数に応じて評価メッセージを返す関数
def get_evaluation(score):
if score >= 90:
return "素晴らしいです!"
elif score >= 70:
return "良い調子です。"
elif score >= 50:
return "まずまずです。"
else:
return "もう少し頑張りましょう。"
# 関数を呼び出し、戻り値を変数に保存する
student_score = 85
evaluation_result = get_evaluation(student_score)
# 戻り値を表示する
print(f"点数{student_score}点の評価は「{evaluation_result}」です。")
実行結果:
点数85点の評価は「良い調子です。」です。
コードの解説
def get_evaluation(score)::scoreという引数を受け取る関数を定義します。return "素晴らしいです!":ifやelifの条件に応じて、対応する文字列をreturnで返します。例えばscoreが90以上なら、「素晴らしいです!」という文字列が関数の「結果」として返されます。evaluation_result = get_evaluation(student_score): ここが最も重要なポイントです。get_evaluation(85)が呼び出されると、関数内でscore >= 70の条件が満たされ、return "良い調子です。"が実行されます。その結果、「良い調子です。」という文字列がevaluation_resultという変数に代入されます。print(...): 最後に、変数に保存された戻り値を画面に表示しています。
もしreturnの代わりにprintを使っていたら、関数の結果をevaluation_resultのような変数に保存して後から利用することはできませんでした。
return文の重要な役割
return文は、関数を単なる処理の実行だけでなく、値を生み出す部品として機能させるための重要な構文です。
- 値の再利用: 関数の結果を変数に保存し、プログラムの他の場所で何度も利用できます。
- プログラムの部品化: ある関数の戻り値を、別の関数の引数として渡すなど、関数同士を連携させることができます。
- 関数の即時終了:
returnが実行された時点で関数は終了します。それ以降にコードがあっても実行されることはありません。
まとめ
今回は、関数の結果を呼び出し元に返すreturn文と戻り値について解説しました。
return文は、関数の処理結果を「戻り値」として返します。- 戻り値は変数に代入して、後から利用することができます。
returnを使うことで、関数をプログラムの強力な部品として活用できます。
return文を使いこなすことで、プログラムの構造がより整理され、柔軟で拡張性の高いコードを書くことができるようになります。
