Pythonでは、関数から複数の戻り値を返すことが可能です。具体的には、return 値1, 値2
のようにreturn
に複数の値を書くことで、戻り値は(値1, 値2)
というタプルになります。
例えば、次のような関数get_contact
を考えてみましょう。
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
この関数はname
とage
という二つの値を返しています。戻り値はタプルになるので、ひとつ目の要素にはインデックス[0]
、ふたつ目の要素にはインデックス[1]
でアクセスできます。
もし、インデックスアクセスではなく、それぞれ意味のある変数名で扱いたい場合は、次のようにタプルから変数に代入することもできます。
name, age = c
print(f"name: {name}") # name: John Doe
print(f"age : {age}") # age : 30
以上、Pythonの関数で複数の値を返したい場合は、return
に並べて書けばタプルとしてまとめて呼び出し元に返せる、ということについて説明しました。