この記事で分かること
- 関数の「戻り値」とは何か分かる
- Pythonプログラムで戻り値を複数返却する方法が分かる
Pythonで複数の戻り値を返す方法の概要
「戻り値」とは、関数の中にあるreturnという指示によって、関数呼び出し元へ返却される値のことです。「C言語」などとは異なり、Pythonの関数は、戻り値を複数返すことができます。
本記事では、戻り値を「2つ返す例」と「4つ返す例」をサンプルプログラムを書きました。これらのサンプルプログラムを使って、複数の戻り値を戻す方法を説明します。
Pythonで複数の戻り値を返す前提環境
複数の関数の戻り値を返す手順の前提の環境は、下の記事で説明している私の環境と同じ環境で確認しています。
レンタルサーバなどのlinuxサーバを使っている場合は、下の記事でプログラミングする環境の作り方を説明しています。
もし、まだプログラムする環境ができていない方は、先にこちらの記事を読んで、プログラミングできる環境をつくることをおすすめします。
Pythonで複数の戻り値を返すサンプルプログラム
ここでは、複数の戻り値を返す例として、2つの戻りを返す例と、4つの戻りを返す例の2つのサンプルプログラムで説明します。
- 戻り値を2つ返すサンプルプログラム
- 戻り値を4つ返すサンプルプログラム
今回のサンプルプログラムでは、2つの整数を入力し、足し算と引き算の結果を返す関数「get_sum_sub」を定義する例と、「四則演算」の結果を返す「get_cal」をサンプルプログラムとして書いています。
ちなみに、「四則演算」とは、「足し算」「引き算」「掛け算」「割り算」の4つの計算のことです。
1.戻り値を2つ返すサンプルプログラム
戻り値を2つ返す関数定義
まず、2つの値を入力して、足し算と引き算の結果を戻り値として返す関数 「get_sum_sub」を定義します。
def get_sum_sub(param1, param2):
return param1 + param2, param1 - param2
- 変数「param1」と変数「param2」を引数に取る関数「get_sum_sub」を定義する。
- 変数「param1」と変数「param2」を足した値、変数「param1」から変数「param2」を引いた値を戻す。
戻り値を2つ返す関数の呼び出し
次に、上記で定義した関数「get_sum_sub」を呼び出すプログラムを書きます。今回の例では、関数への入力(2つの引数)は5に設定しています。足し算の結果を変数「sum」、引き算の結果を変数「sub」となるように関数「get_sum_sub」からの戻り値を受け取るように設定します。その後、受け取った変数の「sum」と「sub」の値をprint文で表示しています。
if __name__ == '__main__':
sum,sub = get_sum_sub(5,5)
print(sum)
print(sub)
- 関数「get_sum_sub」の引数を5と5に指定した場合の関数「get_sum_sub」に戻りを変数「sum」と変数「sub」に格納する
- 変数「sum」の内容を表示する
- 変数「sub」の内容を表示する
戻り値を2つ返す処理の実行結果
実行結果は次のようになります。5と5の足し算の結果10の値が、5から5を引き算した結果0の値が、それぞれ関数「get_sum_sub」から出力されています。
$ python test.py
10
0
2.戻り値を4つ返すサンプルプログラム
戻り値を4つ返す関数定義
次に、2つの値を入力して、足し算、引き算、掛け算、割り算の四則演算の結果4つを戻り値として返す関数「get_cal」を定義します。
def get_cal(param1, param2):
return param1 + param2, param1 - param2, param1 * param2, param1 / param2
- 変数「param1」と変数「param2」を引数に取る関数「get_cal」を定義する。
- 変数「param1」と変数「param2」を足した値、変数「param1」から変数「param2」を引いた値、変数「param1」と変数「param2」を掛けた値、変数「param1」から変数「param2」を割った値を戻す。
戻り値を4つ返す関数の呼び出し
上記で定義した関数「get_cal」を呼び出します。今回も引数に5を入力することにします。足し算の結果を変数「sum」、引き算の結果を変数「sub」、掛け算の結果を変数「mul」、割り算の結果を変数「div」となるように関数からの戻り値を受け取る変数を指定します。その後、4つの変数の値を確認する為にprint文でそれぞれの変数を表示しています。
if __name__ == '__main__':
sum,sub,mul,div = get_cal(5,5)
print(sum)
print(sub)
print(mul)
print(div)
- 関数「get_sum_sub」の引数を5と5に指定した場合の関数「get_cal」に戻りを変数「sum」と変数「sub」変数「mul」変数「div」に格納する
- 変数「sum」の内容を表示する
- 変数「sub」の内容を表示する
- 変数「mul」の内容を表示する
- 変数「div」の内容を表示する
戻り値を4つ返す処理の実行結果
今回の例では、引数に5を入力したので、足し算の結果が10、引き算の結果が0、掛け算の結果が25、割り算の結果が1となり、関数「get_sum_sub」を使って四則計算が正しく計算できていることが分かります。
$ python test.py
10
0
25
1