Python 〜複数の戻り値(返り値)にタプルやオブジェクトを使う

python

Pythonで関数からの戻り値(返り値)が複数ある場合、最も簡単な方法はタプルで返す方法です。
カンマ区切りで記述をするとPythonではタプルと認識されます。
もちろん、[]をつけてリストを返すこともできます。
つまり、複数の戻り値を作りたい場合は何らかのリスト型の仲間にすれば良いということです。

>>> def myfunc():
...     a = 1
...     b = 2
...     c = 3
...     d = a + b + c
...     return a,b,c,d
... 
>>> result = myfunc()
>>> print(result)

結果は次のようにタプルの形式で書き出されます。
(1, 2, 3, 6)

戻り値が複数ある場合、その値が何なのかわかりやすくするにはオブジェクト形式で返してやると良いです。

>>> class Content:
...     def __init__(self,a,b,c,d):
...             self.a = a
...             self.b = b
...             self.c = c
...             self.d = d
... 

>>> def myfunc2():
...     a = 1
...     b = 2
...     c = 3
...     d = a + b + c
...     return Content(a,b,c,d)
>>> result = myfunc2()
>>> print(result.a,result.b,result.c,result.d)

出力結果
1 2 3 6

タイトルとURLをコピーしました