関数は処理を短く書くためのものではない
関数はよく「処理をまとめるためのもの」と説明されます。
これは間違いではありませんが、少し足りません。
Pythonの関数は、
人が繰り返し考えている一連の判断と手順を、名前付きで委任する仕組み
です。
人は同じ判断を何度もしている
日常では、次のようなことを繰り返しています。
- この手順で進める
- この条件を満たしているか確認する
- 結果を受け取って次に進む
関数は、この「毎回考えている流れ」を
一つの名前にまとめる役割を持ちます。
最小の関数を見てみる
def is_pass(score):
return score >= 60
この関数がしているのは、
「点数を見て、合格かどうか判断する」
という 判断の塊 を、
is_pass という名前で預けていることです。
関数を呼ぶとはどういうことか
if is_pass(score):
result = "pass"
ここで起きているのは、
合格かどうかの判断を、関数に任せている
という行為です。
細かい手順を毎回考える必要はありません。
なぜ関数があると楽になるのか
関数があることで、
- 同じ判断を何度も書かなくてよい
- 意味のある名前でコードを読める
- 修正箇所を一か所に集められる
といった利点が生まれます。
関数は、
人間の思考を整理するための道具
でもあります。
まとめ
関数とは、
一連の考え方と判断を、名前付きで任せる仕組み
です。
Pythonの関数は、
コードを短くするためだけでなく、
考え方をきれいに切り出すために存在しています。


コメント