LEVEL 5 ・ 関数 / Lesson 09
自分専用の処理を作る
毎回同じ計算を書くのをやめて、名前を付けた「自分専用の関数」にまとめます。
このレッスンが終わったら
「関数は、よく使う処理に名前を付けてまとめたもの。材料を渡すと、結果が返ってくる」と言える。
できることを見る
商品の金額から、消費税を計算する場面を考えてみましょう。商品が何十種類もあると、同じ「× 0.1」を何十回も書くことになります。
そこで、「消費税を計算する」という処理に名前を付けて、1か所にまとめておくことができます。
def calculate_tax(price):
return price * 0.1これが「自分専用の処理」です。ExcelでいえばSUMやIFのような関数を、自分で作るイメージです。
動かしてみる
▶ 実行を押すと、ここに結果が出ます
100.0 と 500.0 が表示されましたか。同じ計算を2回書かずに、金額だけを変えて使い回せました。
1行ずつ読む
1行目を、部品に分けて見てみましょう。
defこれから自分専用の処理を作りますcalculate_taxその処理の名前(price)受け取る材料(金額):ここから中身def calculate_tax(price):「calculate_tax」という名前の処理を作る。材料として金額を1つ受け取り、「price」と呼ぶ return price * 0.1priceに0.1を掛けた結果を、答えとして返すprint(calculate_tax(1000))1000を材料にして calculate_tax を使い、返ってきた答えを表示する日本語にすると
- 材料1000
- calculate_tax× 0.1 を計算する
- 結果100.0
1か所だけ変える
① 作るだけでは、何も起きない。 def の部分だけを実行してみましょう。
▶ 実行を押すと、ここに結果が出ます
何も表示されません。作っただけで、使っていないからです。
② ルールを1か所だけ直す。 0.1 を 0.08(軽減税率の8%)に変えると、使っている全部の場所で、計算が変わります。
▶ 実行を押すと、ここに結果が出ます
もし関数を使わずに、あちこちに * 0.1 を書いていたら、全部を探して直す必要がありました。
③ 結果を、別の計算に使う。 返ってきた答えは、ほかの計算にも使えます。
▶ 実行を押すと、ここに結果が出ます
④ return を書き忘れると? 答えを返す return を消してみます。
▶ 実行を押すと、ここに結果が出ます
None(何もない)と表示されます。計算はしたけれど、答えを返していないからです。エラーにはならないので、「結果が None になった」ときは、return を確認すると覚えておくと、あとで役に立ちます。
自分で書く
お題① 材料を2倍にして返す関数 double を作り、21 を渡した結果を表示してください。
▶ 実行を押すと、ここに結果が出ます
ヒントを見る
def double(x): の次の行に、スペース4つで return x * 2 と書きます。
答えの例を見る
def double(x): return x * 2 print(double(21))
お題② 金額に消費税10%を足した「税込み金額」を返す関数 add_tax を作り、5000 を渡した結果を表示してください。
▶ 実行を押すと、ここに結果が出ます
ヒントを見る
return price + price * 0.1 と書きます。
答えの例を見る
def add_tax(price): return price + price * 0.1 print(add_tax(5000))