戻り値とは
消費税計算を行い、結果を表示する関数taxを作成しましたが、問題があります。
1 2 3 |
def tax(price,ritu=10): ans = int(price * (ritu / 100+1.0)) print(ans) |
利用側では、税込金額を合計し支払額を求めたい、レシートにカンマ表示したい、など様々ニーズがあります。しかしこの関数では税込金額を表示するだけなのでニーズに答えられません。
そこで税込金額を表示するのではなく、利用側へ返してあげます。この返す値のことを戻り値といいます。
プログラムで確認します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
def tax(price,ritu=10): ans = int(price * (ritu / 100+1.0)) return ans # 支払合計 buy = [1000,250,300] sum = 0 for price in buy: sum += tax(price) print(sum) # レシート表示用 result = "{:,}".format(tax(2000)) print(result) |
【実行結果】
3行目で計算結果(ans)を利用側へ返しています。
3 |
return ans |
支払合計を求めるため9行目で関数taxを呼び出し、その戻り値を変数sumに加算しています。
7 |
sum += tax(price) |
次にカンマ編集を行うため13行目で関数taxを呼び出し、その戻り値をカンマ編集しています。
※”{:,}”.format()はカンマ編集命令
13 |
result = "{:,}".format(tax(2000)) |
複数の戻り値
次のように戻り値は複数記述できます。
1 2 3 4 5 |
def pi(): return 3,3.14,3.14159 a,b,c = pi() print(a,b,c) |
【実行結果】
2行目で3つの戻り値、3,3.14,3.14159を返しています。
2 |
return 3,3.14,3.14159 |
4行目で関数piを呼び出し、変数a,b,cに3つの戻り値を保存しています。
4 5 |
a,b,c = pi() print(a,b,c) |
変数aには3、bには3.14、cには3.14159が保存されます。
次のように複数の戻り値を1つの変数に保存した場合、値はタプルとなります。
4 5 |
a = pi() print(a) |
【実行結果】