note.nkmk.me

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

Date: 2016-12-08 / tags: Python
このエントリーをはてなブックマークに追加
スポンサーリンク

意外と知らないPythonの機能

C言語とかだと関数で複数の戻り値を返すのはけっこう面倒。

実はPythonだとものすごく簡単に実現できる。しばらく知らなかったので忘れないように書いておく。

カンマ区切りでreturn

単純にカンマ区切りでreturnするだけ。文字列だろうが数値だろうがまとめて返せる。

def test():
    return "str", 100

戻り値の型はタプル。

result = test()
print(type(result))     # <type 'tuple'>
print(result)           # ('str', 100)
print(result[0])        # 'str'
print(result[1])        # 100
print(result[2])        # IndexError: tuple index out of range

タプルなので、アンパックしてそれぞれ別々の変数に代入もできる。

a, b = test()
print(a)                # 'str'
print(b)                # 100

[]で囲むとタプルではなくリストを戻り値とすることができる。

def test_list():
    return ["str", 100]


result = test_list()
print(type(result))     # <type 'list'>
print(result)           # ['str', 100]
スポンサーリンク
シェア
このエントリーをはてなブックマークに追加

関連カテゴリー

関連記事