カテゴリ: Python 更新日: 2026/06/06

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

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

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

生徒

「Pythonの関数でreturnって書いてあるのを見たんですけど、これは何をするものなんですか?」

先生

returnは、関数の処理結果を呼び出し元に返すための命令文です。」

生徒

「呼び出し元に返すってどういうことですか?」

先生

「例えば足し算をする関数を作ったとき、その計算結果を他の処理で使いたい場合にreturnで値を返します。」

生徒

「なるほど!じゃあ具体的な書き方を教えてください!」

1. return文とは?:関数の「計算結果」を外に持ち出す魔法

1. return文とは?:関数の「計算結果」を外に持ち出す魔法
1. return文とは?:関数の「計算結果」を外に持ち出す魔法

Pythonのreturn文は、関数の中で処理した「結果(戻り値)」を関数の外側に引き渡すために使われる重要な命令です。プログラミング未経験の方には、「関数という工場に材料(データ)を入れ、完成品(return)を外に出荷するイメージ」と考えると分かりやすいでしょう。

単に画面に文字を表示する(print)のとは違い、returnで値を返すと、その結果を変数に保存したり、別の計算に再利用したりできるようになります。また、関数内でreturnが実行された瞬間にその関数の処理は終了するという性質も持っています。

未経験者向けイメージ例:

例えば、料理を注文する関数があるとします。printは「料理ができました!」と声出しするだけですが、returnは「完成した料理そのもの」をテーブルに運んでくれるようなものです。


# 挨拶の名前を作って「返す」関数
def create_greeting(name):
    return "こんにちは、" + name + "さん!"

# 返ってきたメッセージを変数「message」に受け取る
message = create_greeting("太郎")

# 受け取った結果を後から使うことができる
print(message)

この例では、関数の中で作った文字列をreturnで外に出し、それを変数messageに代入しています。このように、「後で使いたいデータ」があるときは必ずreturnを使用します。

2. 基本的なreturn文の使い方:関数の結果を「戻す」仕組み

2. 基本的なreturn文の使い方:関数の結果を「戻す」仕組み
2. 基本的なreturn文の使い方:関数の結果を「戻す」仕組み

プログラミングにおけるreturn(リターン)文は、関数の中で計算した結果や処理したデータを、関数の外(呼び出し元)に「お土産」として持ち帰るための命令です。

例えば、料理ロボットに「材料」を渡して「料理」を作ってもらう場面をイメージしてください。この「完成した料理」をあなたの手元に届けてくれるのが、まさにreturnの役割です。

数値計算の結果を返すシンプルな例

まずは、2つの数字を足し算して、その合計を返す関数を見てみましょう。初心者の方でも理解しやすいように、もっとも基本的な形で記述します。


def add(a, b):
    # aとbを足した結果を、関数の外に「戻す」
    return a + b

# 関数を呼び出して、戻ってきた値を変数「result」に保存する
result = add(3, 5)

# 保存した結果を表示する
print("計算結果:", result)

計算結果: 8

このコードでは、add(3, 5)という命令によって関数が実行され、内部で3 + 5が計算されます。その直後、returnによって「8」という数字が外に放り出され、変数resultに代入されます。

もしここでreturnを書かずに、関数の中でprint(a + b)とするだけだと、画面に数字は出ますが、その値を後で別の計算に使う(再利用する)ことができません。「結果を次に繋げる」ために、returnは非常に重要な役割を担っています。

3. returnを使わない場合(printのみ)との違い

3. returnを使わない場合(printのみ)との違い
3. returnを使わない場合(printのみ)との違い

プログラミングを始めたばかりの方が一番迷いやすいのが、「画面に表示する(print)」と「値を返す(return)」の違いです。もし関数内でreturnを使わずにprint()だけで結果を表示しようとすると、その場では正しく計算されているように見えても、その結果を「再利用」することができません。

例えば、料理ロボットに「野菜を切って」と頼んだとき、ロボットが目の前で切って見せるだけ(print)で、切った野菜を渡してくれない(return)状態をイメージしてみてください。これでは、その野菜を使って次の工程(煮る、炒めるなど)に進めませんよね。


def add_and_print(a, b):
    # 合計を表示するだけで、外には返さない
    print(a + b)

# 関数を呼び出して、結果を変数 value に入れようとする
value = add_and_print(3, 5)

print("変数の中身(戻り値):", value)

8
変数の中身(戻り値): None

実行結果を見ると、最初の「8」は関数の中で表示されたものですが、変数 value の中身は None(何もない) になってしまいます。Pythonでは、return が書かれていない関数は、自動的に「何も返さない」という印である None を返す決まりになっているからです。

このように、関数の外で「計算結果を使ってさらに計算したい」「結果を別の関数に渡したい」という場合は、必ず return を使う必要があります。単に中身を確認したいだけなら print()、次の処理にバトンを渡したいなら return、と使い分けるのがプログラミングの基本です。

4. 複数の値を返すreturn(アンパック代入)

4. 複数の値を返すreturn(アンパック代入)
4. 複数の値を返すreturn(アンパック代入)

Pythonのreturnには、他のプログラミング言語にはあまり見られない便利な特徴があります。それは、一度に複数の実行結果を返せるという点です。

通常、関数は1つの答えを出して終了しますが、計算アプリで「合計」と「平均」を同時に出したいときなど、関連するデータをセットで戻したい場合に非常に重宝します。初心者の方は、まず「カンマ区切りで並べるだけでOK」と覚えておきましょう。

以下のサンプルコードでは、2つの数値から「足し算」と「引き算」の結果を同時に作成しています。


def calculate(a, b):
    # カンマで区切るだけで、複数の値をセットにして返せます
    add_result = a + b
    sub_result = a - b
    return add_result, sub_result

# 2つの変数で同時に受け取ります(これをアンパックと呼びます)
plus, minus = calculate(10, 4)

print("計算結果(足し算):", plus)
print("計算結果(引き算):", minus)

計算結果(足し算): 14
計算結果(引き算): 6

この仕組みの裏側では、複数の値が「タプル」という箱にまとめられて返されています。受け取る側もplus, minusのように変数名を並べるだけで、自動的に中身が振り分けられるため、コードがスッキリと読みやすくなるのがメリットです。

5. return文の注意点

5. return文の注意点
5. return文の注意点
  • returnの後の処理は実行されない:returnを実行すると関数は即終了します。
  • 戻り値がない場合はNoneが返されます。
  • 複雑な処理を1つのreturnで書きすぎると可読性が下がるので注意。

def sample():
    print("start")
    return 100
    print("この行は実行されません")

print(sample())

start
100

6. 実用例:税込金額を計算する関数

6. 実用例:税込金額を計算する関数
6. 実用例:税込金額を計算する関数

実際の業務で使える例として、商品の税込価格を計算する関数を作ってみましょう。


def calc_price_with_tax(price, tax_rate=0.1):
    return int(price * (1 + tax_rate))

total = calc_price_with_tax(1200)
print("税込価格:", total, "円")

税込価格: 1320 円

このように、returnを使えば計算結果を他の処理に渡せます。

7. 初心者が覚えるべきreturnのポイント

7. 初心者が覚えるべきreturnのポイント
7. 初心者が覚えるべきreturnのポイント
  • 関数から結果を返すためにreturnを使う
  • return後は関数が終了する
  • 複数の値もタプルで返せる
  • returnがない場合はNoneが返る

return文を正しく理解すると、Pythonの関数をより活用できるようになります。

まとめ

まとめ
まとめ

Pythonの関数でよく使われるreturn文は、単なる「値を返すだけの仕組み」ではなく、関数という枠組みの中で作業の結果を外へ運び出し、ほかの処理につなげるための大切な構文です。ふだん何気なく見かけるreturnでも、実際には関数の終わりを示す役割や、戻り値を使って新たな計算や表示処理へ発展させる機能が含まれています。今回の記事を振り返ると、return文が関数の使い方を大きく広げてくれる扉であることがよく分かります。 たとえば、「計算して終わり」ではなく、「計算結果を次の計算へ渡す」「戻り値を変数に入れてあとで使う」「複数の値をまとめて返して一度に処理を進める」など、関数の組み合わせ方や活用方法に幅が出てきます。return文はシンプルな文ながら、関数を軸にしたプログラム構築において欠かせない存在といえるでしょう。 また、return文は書いた場所によって関数の終了タイミングも大きく左右します。処理の途中でreturnが実行されると、それ以降の行は実行されず、即座に関数は終わります。この仕様はエラーを避けるための早期リターン、不要な処理を省く効率化、条件分岐と組み合わせた整理などにも役立ちます。関数の流れを理解するうえでもreturn文はとても重要です。 さらに、複数の値を返すreturnの柔軟さもPythonの特徴です。足し算と引き算を同じ関数で処理して返すなど、複数の結果をまとめて取り扱いたい場面で力を発揮します。タプルとして返ってくるため、複数の変数に一度に値を代入できるのも便利です。 実務的な場面でも、値段計算・日付処理・入力チェック・APIからの取得値の整形など、あらゆる処理でreturnは自然と使われるものです。関数に役割を持たせ、戻り値を次の処理に渡す流れを覚えておくと、Pythonのコードが格段に書きやすくなります。 以下に、記事内容を踏まえた簡単なサンプルコードを改めて掲載します。return文の動作を振り返る目的で、関数の流れが分かる構成にしています。


def total_price(items, tax=0.1):
    subtotal = sum(items)
    tax_amount = int(subtotal * tax)
    return subtotal, tax_amount, subtotal + tax_amount

prices = [1200, 800, 450]
sub, tax, total = total_price(prices)

print("小計:", sub, "円")
print("消費税:", tax, "円")
print("合計金額:", total, "円")

このサンプルでは小計、税額、税込金額の三つをまとめてreturnし、それを受け取ってまとめて表示しています。複数の値を返せる特性によって、計算処理をひとまとめにしやすく、読みやすいコードにつながります。関数が果たす役割と、return文が果たす役割が明確に分かれているため、処理の見通しも良くなります。 今後Pythonで関数を作るたびに、return文の位置や戻り値の形、関数の役割をどう整理するかを意識していくことで、より実用的で理解しやすいコードを書けるようになります。関数はただ作るだけではなく、戻り値まで含めて設計することで一段と使いやすくなります。return文はその中心にあるとても大切な構文です。

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

生徒

「return文は値を返すだけだと思っていたけれど、関数の終わりを示したり、複数の値を返したり、想像以上にいろいろな役割があるんですね。」

先生

「そうなんだ。returnは関数の働きを決める大事な構文だから、しっかり理解するとコードがとても組み立てやすくなるよ。」

生徒

「値を返して変数に代入できるのは便利ですね。途中でreturnするとそれ以降が実行されないのも大事なポイントだと感じました。」

先生

「それに気づけたのはとても良いことだよ。returnの位置を工夫すれば、コードの流れを整理できるし、分かりやすいプログラムになるんだ。」

生徒

「今回のサンプルみたいに複数の値を返せるのも覚えておきます。実務でも使えそうですね。」

先生

「その通り。return文を味方にすれば、関数の活用の幅が一気に広がるよ。これからも意識して使っていこう。」

コメント
コメント投稿は、ログインしてください

まだ口コミはありません。

Python の関数とラムダ式の記事一覧へ
新着記事
New1
Python
Pythonの整数と浮動小数点数の違いとは?数値型の基本を解説
New2
Python
Pythonで文字列をリストに変換する方法!split()とjoin()の使い方
New3
Python
Pythonのbreakとcontinueの違いとは?ループの制御方法をマスター
New4
Python
Pythonのstartswith()・endswith()の使い方!文字列の前後をチェック
人気記事
No.1
Java&Spring記事人気No1
PHP
PHPの特殊文字とエスケープ処理を完全ガイド!初心者向けにhtmlspecialcharsとhtmlentitiesをやさしく解説
No.2
Java&Spring記事人気No2
PHP
PHP の文字列のフォーマット(sprintf, printf)
No.3
Java&Spring記事人気No3
Python
Pythonで文字列を置換する方法!replace()の使い方と正規表現の活用
No.4
Java&Spring記事人気No4
Python
Pythonのクロージャー(Closure)とは?関数内関数とnonlocalの活用
No.5
Java&Spring記事人気No5
Python
Pythonでリストを分割する方法(スライス / split() / itertools)
No.6
Java&Spring記事人気No6
Python
Pythonで経過時間を測る方法をやさしく解説!初心者向けtime.perf_counterとtime.sleepの使い方
No.7
Java&Spring記事人気No7
Python
Pythonのstartswith()・endswith()の使い方!文字列の前後をチェック
No.8
Java&Spring記事人気No8
PHP
PHPの認証機能を実装する方法!初心者でもわかるログイン・ログアウト処理の基本