戻り値を返す関数を作ろう
学習の目標
本章では、以下の内容を学習します。
- return文の使い方を理解する
- 戻り値を変数に保存する方法を学ぶ
- 計算結果を返す関数の作成方法を習得する
- 判定結果を返す関数の作り方を学ぶ
はじめに
これまでに作った関数は、画面に文字を表示するだけでした。しかし、関数にはもう一つ重要な機能があります。それは、処理の結果を戻り値として返すことです。
戻り値を使うことで、関数で計算した結果を受け取って、それを別の処理で使うことができるようになります。例えば、計算をする関数や、何かを判定する関数を作るときには、戻り値が非常に重要になります。
return文の使い方
関数から値を返すには、return文を使います。returnの後に返したい値を書くことで、その値を関数の呼び出し元に送ることができます。
基本的な書き方は以下のようになります。
def 関数名():    処理    return 返したい値まずは簡単な例を見てみましょう。VS Codeで新しいファイルfunction_return.pyを作成して、以下のコードを入力してください。
def get_greeting():    message = "こんにちは、Python!"    return message
# 関数を呼び出して戻り値を受け取るresult = get_greeting()print(result)この関数では、messageという変数に挨拶メッセージを入れて、それをreturnで返しています。関数を呼び出すときは、resultという変数で戻り値を受け取っています。
実行してみましょう。
python function_return.py実行結果は以下のようになります。
こんにちは、Python!戻り値が正しく返されて、画面に表示されました。これまでの関数と違って、print文は関数の外に書いていることに注目してください。関数は値を返すだけで、その値をどう使うかは呼び出し側で決めることができます。
計算結果を返す関数を作ろう
戻り値の便利さを実感するために、計算を行う関数を作ってみましょう。
def add_numbers(a, b):    result = a + b    return result
# 関数を呼び出して計算結果を受け取るanswer = add_numbers(5, 3)print("5 + 3 = " + str(answer))
# 別の数値でも計算してみるanswer2 = add_numbers(10, 7)print("10 + 7 = " + str(answer2))この関数では、2つの引数aとbを受け取って、その合計を計算し、結果をreturnで返しています。関数を呼び出すときに異なる数値を渡すことで、様々な計算を行うことができます。
実行結果は以下のようになります。
5 + 3 = 810 + 7 = 17このように、関数で計算を行い、その結果を戻り値として受け取ることで、計算結果を後の処理で使うことができます。
より短く書くこともできる
return文では、計算式を直接書くこともできます。先ほどの関数をより短く書いてみましょう。
def add_numbers(a, b):    return a + b
def multiply_numbers(a, b):    return a * b
# 複数の計算を組み合わせるsum_result = add_numbers(4, 6)product_result = multiply_numbers(3, 5)
print("足し算の結果: " + str(sum_result))print("掛け算の結果: " + str(product_result))
# 計算結果をさらに計算に使うfinal_result = add_numbers(sum_result, product_result)print("最終結果: " + str(final_result))ここでは、足し算と掛け算を行う関数を作り、それぞれの計算結果を組み合わせてさらに計算を行っています。関数の戻り値を別の関数の引数として使うことで、複雑な計算を段階的に行うことができます。
実行結果は以下のようになります。
足し算の結果: 10掛け算の結果: 15最終結果: 25判定結果を返す関数
戻り値は数値や文字列だけでなく、TrueやFalseといった真偽値を返すこともできます。これは、何かを判定する関数を作るときに便利です。
def is_adult(age):    if age >= 18:        return True    else:        return False
# 年齢を判定してみるperson1_age = 20person2_age = 16
result1 = is_adult(person1_age)result2 = is_adult(person2_age)
print(str(person1_age) + "歳は大人? " + str(result1))print(str(person2_age) + "歳は大人? " + str(result2))この関数では、年齢が18歳以上かどうかを判定して、結果をTrueまたはFalseで返しています。戻り値が真偽値の場合は、if文の条件として直接使うこともできます。
def is_adult(age):    if age >= 18:        return True    else:        return False
# 戻り値をif文の条件として使うuser_age = 22
if is_adult(user_age):    print("成人です。")else:    print("未成年です。")実行結果は以下のようになります。
22歳は大人? True成人です。このように、判定を行う関数を作ることで、複雑な条件を整理して、コードを読みやすくすることができます。
戻り値を使うメリット
戻り値を使うことで、以下のようなメリットがあります。
計算結果を再利用できる 関数で計算した結果を変数に保存して、後の処理で何度も使うことができます。
関数を組み合わせられる ある関数の戻り値を、別の関数の引数として使うことで、複雑な処理を段階的に行うことができます。
条件判定が簡潔になる 判定ロジックを関数にまとめることで、if文の条件がシンプルで読みやすくなります。
まとめ
本章では、return文を使って戻り値を返す関数の作成方法について学習しました。
return文を使うことで、関数の処理結果を呼び出し元に返すことができます。戻り値は変数に保存したり、別の関数の引数として使ったり、if文の条件として使ったりすることができます。
計算を行う関数や判定を行う関数を作ることで、プログラムをより実用的で再利用しやすいものにできました。戻り値を活用することで、関数の可能性が大きく広がることを理解できたことと思います。
Starterプランでより詳しく学習
この先のコンテンツを読むにはStarterプラン以上が必要です。より詳細な解説、実践的なサンプルコード、演習問題にアクセスして学習を深めましょう。