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