関数入門編(Python)

本記事では関数入門編(Python)について説明します。

関数は以下のように書きます。

def function(x1, x2, ・・・): # function は適当な名前。 x1, x2 ・・・は定義したい分記載。x1 は適当な名前
        |
    処理の内容
        |
    return 返したい値 # 戻り値がない場合、書かない時もある。

関数を使用する最大の理由は「作業の効率化」、「ケアレスミスの削減」です。以下の例題を用いて説明していきます。

3兄弟の家族を持つA さんは、遠足のお菓子の購入するために、兄弟それぞれにお小遣いを渡そうとしています。兄弟Bは100円のパンと200円のジュースを、兄弟Cは150円のパンと130円のジュースを、兄弟Dは500円のパンと100円のジュースを買いたいと言いました。各兄弟に支払うべき金額と、A さんが払う総額はいくらになるでしょうか?ただし、すべての価格は税抜きで、消費税は 10% であるとする。

この問題を 、Jupyter Notebook を使用して、Pythonを実行しましょう。以下の記事を参考にして、「python_venv」 フォルダに「money_1.ipynb」ファイルを作成してみましょう。

関数を使わないでコードを書くと、以下のようになります。セルを1個ずつ出して、コピーしてください。

money_B = (100 + 200) * 1.10
money_B 
money_C = (150 + 130) * 1.10
money_C 
money_D = (500 + 100) * 1.10
money_D 
money_total = money_B + money_C + money_D
money_total 

コードを1セルずつ実行してみましょう。コード実行の方法はこちらの記事を参考にしてください。

コードを実行すると、以下の結果が出力されます。

計算はできましたが、消費税は軽減税率によって計算が変わります。消費税が変わったとき、このコードだと 3 箇所も書き換えなければなりません。コードを書き直す際に時間がかかりますし、ケアレスミスの原因にもなります。また、同じ計算を行わなければいけなくなった時、このコードをはじめから書かないといけないのも面倒です。

関数を使用してコードを書き替えてみましょう。セルを1個ずつ出して、以下のコードをコピーしてください。

def calculate_sum_and_tax(money_1, money_2, tax):
    money_sum = money_1 + money_2
    money_tax = money_sum * tax
    return money_tax 
tax = 1.10
money_B = calculate_sum_and_tax(100, 200, tax)
money_B 
money_C = calculate_sum_and_tax(150 , 130, tax)
money_C
money_D = calculate_sum_and_tax(500 , 100, tax)
money_D
money_total = money_B + money_C + money_D
money_total 

コードを実行した結果は以下のようになります。

コードの長さは少し長くなってしまいましたが、このようにコードを書くと tax の値を変更するだけで計算結果を変えることができます。変更箇所が少ないので、ケアレスミスを防ぎやすくなります。また、同じような計算を行う際に、関数を使えば同じコードを書かなくで済みます。

本記事は以上になります。ありがとうございました。

タイトルとURLをコピーしました