Python で複数の戻り値を返す方法

Python では関数からの戻り値を複数返したい場合、 return 値1, 値2 のように return に複数の値を書くことができます。

この結果、戻り値は (値1, 値2) という Tuple になります。

次の例をみてください。

def get_contact():
    name = "John Doe"
    age = 30
    return name, age


c = get_contact()
print(type(c)) # <class 'tuple'>
print(c)       # ('John Doe', 30)
print(c[0])    # 'John Doe'
print(c[1])    # 30

この例では1行目から4行目で関数 get_contact() を定義しています。この関数は 4 行目で nameage という二つの値を返しています。

戻り値は Tuple になるので、ひとつ目の要素にはインデックス [0]、 ふたつ目の要素にはインデックス [1] ・・・でアクセスできます。

もし、インデックスアクセスではなく、それぞれ意味のある変数名で扱いたい場合は、次のように Tuple から変数に代入することもできます。

name, age = c
print(f"name: {name}")  # name: John Doe
print(f"age : {age}")   # age : 30

以上、ここでは Python の関数で複数の値を返したい場合は、return に並べて書けば Tuple としてまとめて呼び出し元に返せる、ということについて説明しました。

ここまでお読みいただき、誠にありがとうございます。SNS 等でこの記事をシェアしていただけますと、大変励みになります。どうぞよろしくお願いします。

© 2024 Python 入門