【Python】複数の戻り値を返す関数の書き方

この記事では、Pythonの関数で複数の値を返す方法について解説します。

タプルやリスト、辞書、クラスを使って複数の値を返す方法を学び、それらの値を個別に取得する方法も紹介します。

さらに、複数の戻り値を受け取る方法や応用例も紹介します。

Pythonのプログラミングを始めたばかりの方にもわかりやすく解説していきます。

目次から探す

複数の戻り値を返す関数とは

Pythonでは、関数が1つ以上の値を返すことができます。

通常、関数は1つの値を返すことが一般的ですが、複数の値を返すことで、より柔軟なプログラムを作成することができます。

タプルを使った複数の戻り値の返し方

タプルは、複数の要素をまとめて1つのオブジェクトとして扱うことができるデータ型です。

タプルを使って複数の値を返す関数を作成することができます。

タプルを使った基本的な書き方

タプルを使った複数の戻り値の返し方は、関数内で複数の値をカンマで区切って返すだけです。

以下は、2つの値を返す関数の例です。

def get_values():
    value1 = 10
    value2 = 20
    return value1, value2

result = get_values()
print(result)  # (10, 20)

タプルのアンパック

タプルを受け取る変数を複数用意することで、タプルの要素を個別に取得することができます。

これをタプルのアンパックと呼びます。

以下は、タプルのアンパックを使って個別の値を取得する例です。

def get_values():
    value1 = 10
    value2 = 20
    return value1, value2

result1, result2 = get_values()
print(result1)  # 10
print(result2)  # 20

タプルの要素を個別に取得する方法

タプルの要素を個別に取得する方法は、タプルのインデックスを指定することで行います。

以下は、タプルの要素を個別に取得する例です。

result = (10, 20)
value1 = result[0]
value2 = result[1]
print(value1)  # 10
print(value2)  # 20

リストを使った複数の戻り値の返し方

リストもタプルと同様に複数の要素をまとめて扱うことができるデータ型です。

リストを使って複数の値を返す関数を作成することもできます。

リストを使った基本的な書き方

リストを使った複数の戻り値の返し方も、タプルと同様に関数内で複数の値をカンマで区切って返すだけです。

以下は、2つの値を返す関数の例です。

def get_values():
    values = [10, 20]
    return values

result = get_values()
print(result)  # [10, 20]

リストの要素を個別に取得する方法

リストの要素を個別に取得する方法も、タプルと同様にインデックスを指定することで行います。

以下は、リストの要素を個別に取得する例です。

result = [10, 20]
value1 = result[0]
value2 = result[1]
print(value1)  # 10
print(value2)  # 20

辞書を使った複数の戻り値の返し方

辞書は、キーと値のペアをまとめて扱うことができるデータ型です。

辞書を使って複数の値を返す関数を作成することもできます。

辞書を使った基本的な書き方

辞書を使った複数の戻り値の返し方も、タプルやリストと同様に関数内で複数の値を返すだけです。

以下は、2つの値を返す関数の例です。

def get_values():
    values = {'value1': 10, 'value2': 20}
    return values

result = get_values()
print(result)  # {'value1': 10, 'value2': 20}

辞書の要素を個別に取得する方法

辞書の要素を個別に取得する方法は、キーを指定することで行います。

以下は、辞書の要素を個別に取得する例です。

result = {'value1': 10, 'value2': 20}
value1 = result['value1']
value2 = result['value2']
print(value1)  # 10
print(value2)  # 20

クラスを使った複数の戻り値の返し方

クラスを使って複数の値を返す関数を作成することもできます。

クラスを使うことで、関連するデータをまとめて扱うことができます。

クラスを使った基本的な書き方

クラスを使った複数の戻り値の返し方は、クラス内で複数の属性を定義し、それらの属性を返すだけです。

以下は、2つの値を返すクラスの例です。

class Values:
    def __init__(self):
        self.value1 = 10
        self.value2 = 20

def get_values():
    values = Values()
    return values

result = get_values()
print(result.value1)  # 10
print(result.value2)  # 20

クラスのメソッドを使った要素の取得方法

クラスのメソッドを使って要素を取得する方法は、クラスのインスタンスを作成し、そのインスタンスの属性を参照するだけです。

以下は、クラスのメソッドを使って要素を取得する例です。

class Values:
    def __init__(self):
        self.value1 = 10
        self.value2 = 20

def get_values():
    values = Values()
    return values

result = get_values()
value1 = result.value1
value2 = result.value2
print(value1)  # 10
print(value2)  # 20

複数の戻り値を返す関数の利用例

複数の戻り値を返す関数を利用することで、より柔軟なプログラムを作成することができます。

以下では、複数の戻り値を受け取る方法と、複数の戻り値を使った応用例を紹介します。

複数の戻り値を受け取る方法

複数の戻り値を受け取る方法は、タプルやリストを使って値を受け取るだけです。

以下は、複数の戻り値を受け取る例です。

def get_values():
    value1 = 10
    value2 = 20
    return value1, value2

result = get_values()
value1, value2 = result
print(value1)  # 10
print(value2)  # 20

複数の戻り値を使った応用例

複数の戻り値を使った応用例として、2つの値を入れ替える関数を考えてみましょう。

以下は、2つの値を入れ替える関数の例です。

def swap_values(value1, value2):
    return value2, value1

a = 10
b = 20
a, b = swap_values(a, b)
print(a)  # 20
print(b)  # 10

このように、複数の戻り値を使うことで、関数の柔軟性を高めることができます。

目次から探す