Python 関数の戻り値を返す・受け取る方法

Pythonの関数は戻り値を返すことができます。

今回は、Pythonの関数で戻り値を返す・受け取る方法をいくつかのパターンで解説します。

Pythonの関数の戻り値

関数で戻り値を返す

# 関数定義
def output_msg(num):
    ret = '関数実行' + num + '回目'
    return ret

# 関数実行
msg = output_msg(10)
print(msg)
#[結果] 関数実行10回目

ここでは戻り値ありの関数を作成しました。

戻り値は「return 戻り値」で値を返します。

関数「output_msg」はパラメータ「num」を受け取り、文字列「ret」を返す関数です。

呼び出し元では「msg = output_msg(10)」として関数が戻した値を「msg」へ代入しています。

 

複数の戻り値を返す関数

def cul_num(num1, num2):
    num3 = num1 + num2
    num4 = num1 * num2
    return num3, num4

ここでは関数「cul_num」に2つの引数をわたして、足し算と掛け算の両方の結果「num3」「num4」を「return」で返しました。

複数の結果を返すには、returnのあとにカンマ区切りで並べます。

複数の結果を返す関数を呼び出す側の書き方は次に書きます。

複数の戻り値を受け取る(関数呼び出し側)

ret = cul_num(10, 5)

print(ret)
#[結果] (15, 50)

for i in ret:
    print(i)
#[結果] 15
#[結果] 50

複数の戻り値の型は「タプル型」となります。「タプル」は読取り専用の配列のことです。

参考ページPython タプル(変更不可な配列)の使い方

複数の値を1つずつ取り出すには「for ~ in」で取り出します。次の方法もあります。

複数の戻り値を別々に受け取る(関数呼び出し側)

num1, num2 = cul_num(10, 5)

print(num1)
#[結果] 15

print(num2)
#[結果] 50

ここでは複数の戻り値を1つずつ変数で受け取りました。受け取る場合はカンマ区切りで受け取る数だけ並べます。

以上、Pythonの関数の戻り値を返す方法をいくつかのパターンで解説しました。

コメント