Python: 関数の戻り値の記述方法
関数が返す値(情報)を戻り値といい、 Pythonではreturn文を使って戻り値を返します。 戻り値は1つの場合や複数の場合、無い場合もあります。
ここでは関数の戻り値の記述方法について説明します。
戻り値がある場合
戻り値がある場合は return の後に戻り値を指定します
次のサンプルコードは戻り値がある場合の記述例です。
下の関数「plus」は引数を2つ受け取り、
2つの引数を足した数値を戻り値として返します。
# 関数定義 ここから def plus(x, y): return x + y # 関数定義 ここまで # 関数を呼び出す n = plus(1, 7) print(n) # 8
呼び出し側は、変数「n」に戻り値を代入しています。
戻り値が複数ある場合
Pythonでは戻り値を複数返すことができます。
下の関数「double」は引数を2つ受け取り、
それぞれを2倍した値を返します。(戻り値が2つ)
# 関数定義 ここから def double(x, y): # それぞれ2倍する x = x * 2 y = y * 2 return x, y # 関数定義 ここまで # 関数を呼び出す n1, n2 = double(3, 6) print(n1, n2) # 6 12
戻り値が複数の場合は return の後にカンマ区切りで戻り値を指定します。 この複数の値はタプルなので次のように丸括弧()で囲って記述できます。
return (x, y)
戻り値を受け取る側では、 「n1, n2 = double(3, 6)」とタプルをアンパック(展開)して受け取ります。 もしアンパック(展開)しない場合は次のようにタプルで受け取ることになります。
n = double(3, 6) print(n) # (6, 12)
戻り値がない場合
戻り値がない場合は単に returnと記述するか、 またはreturn文なしでも構いません。 return文がない場合は関数のブロックの終了とともに関数を抜け出します。
次のサンプルコードは戻り値なしの場合です。 下の関数「func」は受け取った引数をprint()で表示するだけで、 戻り値はありません。 最後はreturnと記述しています。
# 関数定義 ここから def func(s): print(s) return # 関数定義 ここまで # 関数を呼び出す func("hello") # hello
上のコードの場合、return文は無くても構いません。 return文を書いておくと、「関数の終了場所」と 「戻り値がないこと」が明確にわかるというメリットがあります。