ゼロからのPython入門講座関数の定義 関数のメリット

関数の定義関数のメリットローカル変数とグローバル変数関数の呼び出し方

関数の定義 の最初の例では、金額の計算を関数ではなく、

momo = input("ももは何個買いますか?")  # ももの個数を入力する
num_momo = int(momo) # 入力した文字列を、整数値に変換する

mikan = input("みかんは何個買いますか?") # みかんの個数を入力する
num_mikan = int(mikan) # 入力した文字列を、整数値に変換する

total_momo = num_momo * 100
total_mikan = num_mikan * 40
total = total_momo + total_mikan

print("もも", num_momo, "個と、みかん", num_mikan, "個で、", total, "円です")

のように、全体の処理の一部として記述していました。

この処理を修正して、計算を行う処理だけを独立した関数に分割し、次のように書けるようになりました。

total = fruit_price(num_momo, num_mikan)

関数を使わないバージョンでは、input()を使わずに、例えばもも10個とみかん20個の組み合わせの金額を求めるときには、プログラム全体を書きなおす必要があります。

しかし、このように計算処理を関数にしたことで、この計算を条件を変えて何度でも簡単に実行できるようになりました。計算が必要なときには、定義済みの関数 fruit_price() を利用して

fruit_price(2, 3)

fruit_price(10, 20)

のように、簡単に呼び出して結果を得ることができます。

また、ももが値上げされた場合など、なんらかの処理の変更が必要になったばあい、最初の例では計算処理の部分をすべて変更しなければなりません。

しかし、すべての計算は関数で行うようになっていれば、プログラムの修正が必要なのは fruit_price() のみで、fruit_price() を利用している部分は修正せずに再実行するだけで済ますことができます。次の関数は、ももの値段を100円から200円に修正してから計算しています。

In [26]:
def fruit_price(number_of_momo, number_of_mimkan):
    total_momo = number_of_momo * 200
    total_mikan = number_of_mimkan * 40
    total = total_momo + total_mikan

    return total

total = fruit_price(5, 10)
print("もも 5個と、みかん 10個で、", total, "円です")
もも 5個と、みかん 10個で、 1400 円です
Copyright © 2001-2021 python.jp Privacy Policy python_japan
Amazon.co.jpアソシエイト