戻り値を返す関数を作ろう
学習の目標
本章では、以下の内容を学習します。
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 = 8
10 + 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 = 20
person2_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プラン以上が必要です。より詳細な解説、実践的なサンプルコード、演習問題にアクセスして学習を深めましょう。