戻り値を返す関数を作ろう

学習の目標

本章では、以下の内容を学習します。

  • 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つの引数abを受け取って、その合計を計算し、結果を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

判定結果を返す関数

戻り値は数値や文字列だけでなく、TrueFalseといった真偽値を返すこともできます。これは、何かを判定する関数を作るときに便利です。

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文の条件として使ったりすることができます。

計算を行う関数や判定を行う関数を作ることで、プログラムをより実用的で再利用しやすいものにできました。戻り値を活用することで、関数の可能性が大きく広がることを理解できたことと思います。

このセクションは有料サブスクリプションへの登録、またはログインが必要です。完全なコンテンツにアクセスするには、料金ページ(/pricing)をご覧ください。購入済みの場合は、ログインしてください。

Starterプランでより詳しく学習

この先のコンテンツを読むにはStarterプラン以上が必要です。より詳細な解説、実践的なサンプルコード、演習問題にアクセスして学習を深めましょう。

作成者:とまだ
Previous
引数を受け取る関数を作ろう