戻り値とは?初心者向けに意味・使い方・returnとの違いをわかりやすく解説

プログラミングを学んでいると、「戻り値」という言葉をよく目にします。

「戻り値とは何のこと?」
「returnとはどう違うの?」
「Pythonではどのように使うの?」

このような疑問を持つプログラミング初心者も多いでしょう。

戻り値は、関数やメソッドを実行した結果として、呼び出し元に返される値のことです。

この記事では、戻り値の基本的な意味から、Pythonにおけるreturnの使い方、戻り値がない場合との違いまで、初心者向けにわかりやすく解説します。

戻り値とは?

戻り値とは、関数やメソッドを実行した結果として、呼び出し元に返される値です。

たとえば、2つの数字を足し算する関数を考えてみましょう。

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

この関数に、次のように指定するとします。

result = add(3, 5)

すると、計算結果である「8」が戻り値として返されます。

print(result)

実行結果:

8

この場合、以下のような関係になります。

  • add():関数
  • 35:引数
  • a + b:計算処理
  • 8:戻り値

つまり、関数に「処理をお願いして」、その結果を受け取るのが戻り値です。

戻り値をイメージするとわかりやすい

戻り値は、自動販売機にたとえると理解しやすくなります。

自動販売機にお金を入れて商品を選ぶと、商品が出てきます。

プログラミングの関数も同じように考えることができます。

入力(引数)
   ↓
[関数]
   ↓
処理
   ↓
戻り値

たとえば、次の関数を見てみましょう。

def square(number):
    return number * number

「5」を渡すと、次のようになります。

5
↓
square()
↓
5 × 5
↓
25

この場合、25が戻り値になります。

returnとは?

戻り値を理解するときに重要なのがreturnです。

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

たとえば、次のような関数を作ります。

def multiply(a, b):
    return a * b

multiply()を実行すると、その結果が戻り値として返されます。

result = multiply(4, 3)

print(result)

実行結果:

12

この場合、return a * bによって「12」が戻されています。

「戻り値」と「return」は同じではない

初心者が混同しやすいポイントです。

戻り値とreturnは同じ意味ではありません。

  • 戻り値:関数から返される「値」
  • return:その値を返すための命令

たとえるなら、次のような関係です。

return → 「これを返してください」という命令
戻り値 → 実際に返されたもの

Pythonで戻り値を使う方法

Pythonでは、returnを使って戻り値を指定します。

基本的な構文は以下のとおりです。

def 関数名():
    return 戻り値

具体例を見てみましょう。

def get_name():
    return "太郎"

この関数を実行すると、次のように戻り値を受け取ることができます。

name = get_name()

print(name)

実行結果:

太郎

get_name()が返した「太郎」が戻り値です。

戻り値を変数に代入できる

戻り値は変数に代入できます。

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

result = add(10, 20)

print(result)

実行結果:

30

ここでは、

result = add(10, 20)

によって、add()の戻り値である30をresultに代入しています。

戻り値を変数に保存しておけば、その後の処理にも利用できます。

result = add(10, 20)

print(result * 2)

実行結果:

60

戻り値は計算結果だけではない

戻り値には、数字だけでなくさまざまなデータを返すことができます。

文字列を返す

def get_message():
    return "こんにちは"

数値を返す

def get_price():
    return 1000

真偽値を返す

def is_adult(age):
    return age >= 18

実行例:

result = is_adult(20)

print(result)

結果:

True

このように、戻り値には文字列、数値、TrueFalseなど、さまざまな値を指定できます。

複数の値を戻り値として返すこともできる

Pythonでは、複数の値をまとめて返すこともできます。

def get_user():
    return "太郎", 20

この戻り値を受け取ると、次のようになります。

name, age = get_user()

print(name)
print(age)

実行結果:

太郎
20

Pythonでは、このように複数の値を返す処理もよく使われます。

returnすると関数の処理は終了する

returnには、戻り値を返すだけではなく、その時点で関数の処理を終了するという特徴があります。

たとえば、次のような関数を考えてみましょう。

def check_number(number):
    if number > 0:
        return "プラス"

    return "ゼロまたはマイナス"

この関数では、numberが0より大きければ「プラス」を返します。

returnが実行された時点で関数が終了するため、その後の処理は実行されません。

returnがない場合はどうなる?

関数にreturnを書かない場合、PythonではNoneが返されます。

たとえば、次の関数を見てみましょう。

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

この関数を次のように実行します。

result = hello()

print(result)

実行結果:

こんにちは
None

hello()の中では「こんにちは」と表示していますが、戻り値を指定していません。

そのため、戻り値はNoneになります。

printとreturnの違い

初心者が特に間違えやすいのが、print()returnの違いです。

printは画面に表示する

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

これは計算結果を画面に表示するだけです。

returnは値を呼び出し元に返す

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

こちらは計算結果を呼び出し元に返します。

たとえば、

result = add(3, 5)

とした場合、returnなら8をresultに保存できます。

一方、print()だけでは戻り値として8を受け取ることはできません。

printとreturnの違いまとめ

項目 print return
画面に表示 できる できない
値を呼び出し元に返す できない できる
関数を終了する しない する
戻り値として利用 できない できる

「計算結果を表示したい」のか、「計算結果を後の処理で使いたい」のかによって使い分けることが重要です。

戻り値を使うメリット

戻り値を使うことで、関数をより便利に利用できます。

1. 処理結果を別の場所で利用できる

def calculate_tax(price):
    return price * 0.1

戻り値を使えば、次のように計算結果を別の処理に利用できます。

tax = calculate_tax(1000)

print(tax)

2. 関数を再利用しやすくなる

関数が結果を戻り値として返すようにしておけば、さまざまな場所から利用できます。

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

この関数は、次のように何度でも利用できます。

result1 = add(10, 20)
result2 = add(100, 200)
result3 = add(5, 7)

3. 処理を分割できる

大きなプログラムを一つの処理として書くのではなく、機能ごとに関数へ分割できます。

def calculate_price(price, tax):
    return price + price * tax

def format_price(price):
    return f"{price:.0f}円"

それぞれの関数が処理結果を戻り値として返すことで、プログラムを整理しやすくなります。

戻り値を使った実践例

商品の税込価格を計算するプログラムを考えてみましょう。

def calculate_tax_included_price(price):
    return price * 1.1

price = calculate_tax_included_price(1000)

print(price)

実行結果:

1100.0

この例では、関数が計算した税込価格を戻り値として返しています。

さらに別の関数に渡すこともできます。

def calculate_tax_included_price(price):
    return price * 1.1

def show_price(price):
    print(f"価格は{price:.0f}円です")

price = calculate_tax_included_price(1000)

show_price(price)

実行結果:

価格は1100円です

このように戻り値を利用すると、「計算する処理」と「表示する処理」を分離できます。

これはプログラムを読みやすく、管理しやすくするうえで重要な考え方です。

戻り値を理解するためのポイント

プログラミング初心者は、まず以下の3点を押さえておきましょう。

ポイント1:関数は処理をまとめるもの

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

add()という関数に「足し算」という処理をまとめています。

ポイント2:returnで結果を返す

return a + b

この部分によって計算結果を呼び出し元に返します。

ポイント3:戻り値は変数に保存できる

result = add(3, 5)

この場合、戻り値の8がresultに保存されます。

この3つを理解すれば、戻り値の基本は押さえられます。

戻り値とは?まとめ

戻り値とは、関数やメソッドを実行した結果として呼び出し元に返される値です。

Pythonでは主にreturnを使って戻り値を指定します。

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

result = add(3, 5)

print(result)

実行結果:

8

覚えておきたいのは、returnは「値を返す命令」であり、戻り値は「実際に返された値」ということです。

また、print()は画面に値を表示するためのものであり、戻り値を返すreturnとは役割が異なります。

関数と戻り値の関係を理解すると、Pythonをはじめとする多くのプログラミング言語で、コードを分割して整理する考え方が身につきます。

プログラミング初心者は、まず「関数に値を渡す=引数」「関数から値を受け取る=戻り値」と覚えておくと理解しやすいでしょう。

テックジムPython基礎コース(初心者向け)

対面・無料のプログラミング講座|東京で毎週開催|初心者向けPython講座

プログラミング学習に興味がある方は、まずは無料体験会へ

無料体験会・お申し込みはこちら