カテゴリ: Python 更新日: 2026/02/07

Pythonのreturn文の使い方!値を返す関数の書き方と注意点

Pythonのreturn文の使い方!値を返す関数の書き方と注意点
Pythonのreturn文の使い方!値を返す関数の書き方と注意点

先生と生徒の会話形式で理解しよう

生徒

「Pythonで関数から結果を取り出したいときって、どうすればいいんですか?」

先生

「そのときに使うのがreturn文です。関数の中で計算した結果などを外に返すときに使うんですよ。」

生徒

「なるほど!具体的にどうやって使えばいいのか、詳しく教えてください!」

先生

「もちろんです!Pythonのreturn文の使い方と注意点を一緒に学んでいきましょう。」

1. Pythonのreturn文とは?戻り値の役割をわかりやすく解説

1. Pythonのreturn文とは?戻り値の役割をわかりやすく解説
1. Pythonのreturn文とは?戻り値の役割をわかりやすく解説

Pythonのreturn(リターン)文とは、関数の中で処理した結果を、関数の外(呼び出し元)に「戻り値(返り値)」として渡すための命令です。プログラミング初心者の方には、「関数という工場に材料を渡し、加工された製品を受け取るための出口」とイメージすると分かりやすいでしょう。

例えば、自動販売機をイメージしてみてください。「お金を入れてボタンを押す(関数の呼び出し)」と、「飲み物が出てくる(returnによる戻り値)」という流れになります。もしreturnがなければ、自動販売機の中で飲み物は用意されたけれど、取り出し口には何も出てこない状態になってしまいます。

以下の簡単なプログラムで、returnがある場合の動きを見てみましょう。


def get_lucky_number():
    number = 7
    return number  # ここで「7」という値を外に返している

# 関数を呼び出して、戻ってきた値を変数に保存する
my_fortune = get_lucky_number()
print("今日のラッキーナンバーは " + str(my_fortune) + " です!")

このコードでは、get_lucky_numberという関数の中で作られた「7」という数字を、returnを使って関数の外に放り出しています。その結果、外側にある変数my_fortuneでその値を受け取り、あとから自由に使うことができるのです。

関数はただ命令を実行するだけでなく、「計算結果や作成したデータを持ち帰って、次の処理に活かす」ためにreturnを使用します。この仕組みがあるおかげで、Pythonのプログラムを効率よく組み立てることが可能になります。

2. returnを使った関数の基本的な書き方

2. returnを使った関数の基本的な書き方
2. returnを使った関数の基本的な書き方

関数の中でreturnを書くだけで、値を返すことができます。以下の例では、2つの数を足して、その結果を返しています。


def add(a, b):
    return a + b

result = add(3, 5)
print(result)

8

このように、add関数は計算結果(8)を返し、それをresult変数に受け取っています。

3. returnがない関数との違い

3. returnがない関数との違い
3. returnがない関数との違い

Pythonの関数では、returnがないと、戻り値はNone(ナン)になります。Noneは「なにもない」という意味の特別な値です。


def say_hello():
    print("こんにちは")

result = say_hello()
print(result)

こんにちは
None

この例では、say_hello関数の中にreturnがないため、resultにはNoneが入ります。

4. returnで複数の値を返すこともできる

4. returnで複数の値を返すこともできる
4. returnで複数の値を返すこともできる

Pythonでは、returnで複数の値を同時に返すこともできます。その場合はタプル(カンマ区切りの値)として返されます。


def get_user():
    name = "たろう"
    age = 25
    return name, age

user_name, user_age = get_user()
print(user_name)
print(user_age)

たろう
25

このように、1つのreturnで2つ以上のデータを一度に返すことができ、とても便利です。

5. returnの位置に注意しよう

5. returnの位置に注意しよう
5. returnの位置に注意しよう

return文が実行されると、そこで関数は終了します。returnのあとに書かれたコードは実行されません。


def test():
    print("ここまで実行されます")
    return
    print("これは実行されません")

test()

ここまで実行されます

このように、return以降のコードは無視されるので、書く位置には注意しましょう。

6. returnを使うと関数が「部品」になる

6. returnを使うと関数が「部品」になる
6. returnを使うと関数が「部品」になる

returnを使って値を返すことで、関数は単なる処理ではなく、使いまわせる「部品」として活躍します。たとえば、「消費税を計算する関数」を作って、いろんな場面で再利用できます。


def calc_tax(price):
    return price * 0.1

print("消費税:", calc_tax(1000))
print("消費税:", calc_tax(2500))

消費税: 100.0
消費税: 250.0

このように、関数とreturnをうまく使うと、コードがスッキリ整理されて、間違いも少なくなります。

7. returnの使い方でよくある間違い

7. returnの使い方でよくある間違い
7. returnの使い方でよくある間違い

初心者がよくやってしまうのは、printreturnの違いを混同することです。printは画面に表示するだけで、値を戻しません。逆にreturnは結果を戻しますが、表示はしません。


def wrong_function():
    print("これは戻り値ではありません")

result = wrong_function()
print(result)

これは戻り値ではありません
None

このように、printで表示しただけでは、関数の結果としては何も返していません。計算結果などを使いたいときは、必ずreturnを使いましょう。

まとめ

まとめ
まとめ

ここまでPythonのreturn文について詳しく解説してきましたが、いかがでしたでしょうか。プログラミング初心者にとって、関数と戻り値(返り値)の関係を正しく理解することは、効率的で美しいコードを書くための第一歩となります。

return文の役割を再確認しよう

Pythonのreturn文には、大きく分けて2つの重要な役割があります。

  • 呼び出し元に値を渡す: 関数内での処理結果(計算結果、加工した文字列、取得したデータなど)を関数の外へ持ち出し、別の変数に代入したり、別の計算に利用したりできるようにします。
  • 関数の処理を終了させる: returnが実行された時点で、その関数の処理は即座に打ち切られます。これにより、条件分岐(if文)と組み合わせて、特定の条件下で処理を途中で切り上げる「ガード句」のような使い方も可能になります。

実践的なサンプルプログラム:条件分岐とreturn

実際の開発現場では、returnは単に値を返すだけでなく、プログラムの挙動を制御するために頻繁に使われます。例えば、入力された値が正しいかどうかを判定し、不適切な場合にはすぐに処理を終了させる例を見てみましょう。


def check_inventory(stock_count):
    if stock_count <= 0:
        return "在庫がありません"
    
    # 在庫がある場合のみ実行される処理
    message = f"在庫は残り{stock_count}個です。購入可能です。"
    return message

# ケース1:在庫がある場合
status1 = check_inventory(15)
print(status1)

# ケース2:在庫がない場合
status2 = check_inventory(0)
print(status2)

在庫は残り15個です。購入可能です。
在庫がありません

このプログラムでは、stock_countが0以下の場合、最初のif文の中でreturnが実行され、関数が終了します。そのため、その下にあるメッセージ作成の処理は実行されません。このように、returnを使いこなすことで、複雑な条件分岐もスッキリと記述できるようになります。

リストや辞書を返す応用テクニック

returnで返せるのは数値や文字列だけではありません。リストや辞書、あるいは自作のクラスのインスタンスなど、Pythonのあらゆるオブジェクトを返すことができます。複数の情報をひとまとめにして返したい場合に非常に有効です。


def create_profile(name, hobby):
    profile = {
        "name": name,
        "hobby": hobby,
        "language": "Python"
    }
    return profile

user_data = create_profile("佐藤", "キャンプ")
print(user_data["name"])
print(user_data["language"])

佐藤
Python

このように辞書形式で値を返すと、呼び出し側で「どのデータが何を意味しているのか」が明確になり、大規模なプログラムでもメンテナンス性が向上します。

開発効率を上げるためのSEO視点のアドバイス

Pythonで「関数 戻り値 複数」や「Python 関数 終わり方」と検索する方は非常に多いです。プログラミングの学習において、returnをマスターすることは、単なる文法の習得以上の価値があります。それは「ロジックを部品化する思考」を養うことだからです。 コードを書く際は、常に「この関数は何を返すのが最適か?」を考える癖をつけましょう。戻り値が必要ない場合は無理に書く必要はありませんが、関数の結果を再利用したい場合は、printではなく必ずreturnを使うように徹底してください。

先生と生徒の振り返り会話

生徒

先生、ありがとうございました!returnを使うと、関数がただの「命令のまとまり」から、便利な「計算マシン」や「データ加工ツール」に進化する感じがして面白いですね。

先生

その通りです!素晴らしい気づきですね。関数を「ブラックボックス」として考えて、何かを入れたら(引数)、何かが返ってくる(戻り値)、という捉え方をすると、プログラム全体の設計がとても楽になりますよ。

生徒

さっきの複数の値を返す方法も驚きました。カンマで区切るだけでタプルとして返ってくるなんて、Pythonは本当に柔軟ですね。でも、returnを書いた後のコードが実行されないっていうのは、うっかりミスでやってしまいそうです。

先生

そうですね、それはよくある落とし穴です。特にデバッグ中にprintreturnの後ろに入れてしまって、「あれ?ログが出ないぞ?」と悩む初心者は多いですよ。関数の出口はreturnだと、しっかり覚えておきましょう。

生徒

はい!あと、printreturnの使い分けも整理できました。画面に見せたいだけのときはprint、その後の計算や処理で使い回したいときはreturnですね。これで自信を持って関数が書けそうです!

先生

完璧な理解です!その調子で、色々な「戻り値を持つ関数」を作って練習してみてください。次はリストの内包表記や、より高度な引数の受け渡しについても学んでいくと、さらにPythonが楽しくなりますよ。頑張りましょうね!

カテゴリの一覧へ
新着記事
New1
Flask
認証と認可の違いを整理しよう!Flaskで押さえるべき基礎概念
New2
Flask
Flaskで非同期フォーム送信(Ajax POST)を実装する方法を解説!初心者でもわかるステップ解説
New3
Python
Pythonで定数を定義する方法!変更されない変数の書き方と命名ルールを初心者向けに解説
New4
Python
PythonでMySQLに接続する方法!pymysqlの基本的な使い方
人気記事
No.1
Java&Spring記事人気No1
Python
Pythonとは何か?初心者向けにできること・特徴・インストール手順までやさしく解説
No.2
Java&Spring記事人気No2
Flask
Flaskでデータベースを使う基本!SQLAlchemyの導入方法をやさしく解説
No.3
Java&Spring記事人気No3
Python
Pythonでリストの要素を検索・取得する方法!index()やin演算子の活用法
No.4
Java&Spring記事人気No4
Python
Pythonのインストール方法まとめ!Windows・Mac・Linux別にステップ解説
No.5
Java&Spring記事人気No5
Python
Pythonで仮想環境(venv)を作る方法!初心者向けに環境構築をステップ解説
No.6
Java&Spring記事人気No6
Python
Pythonプログラムの書き方を基礎から学ぼう!初心者が覚えるべき文法とは?
No.7
Java&Spring記事人気No7
Flask
Flaskアプリの環境変数をクラウドで安全に設定する方法!初心者のための完全ガイド
No.8
Java&Spring記事人気No8
Flask
Flaskでクラウド上のメッセージキュー(SQS/PubSub)を扱う完全ガイド!初心者向け解説