と、まず覚えておいてほしい。さて、引数とクレープがいっしょとは?いったいどうゆうことなのか話していこう。
引数 = クレープ(crepe)
あなたはクレープを知っているだろうか。そうあの食べ物のクレープだ。
ただクレープといってもトッピングが変われば、味も名前もちがうだろう。でもトッピングがいくら変わろうがクレープはクレープだ。
これをプログラミングでいうなら
ということ。たとえば、バナナサンデーを注文するとしよう。なかにはホイップクリーム、チョコレートソース、バナナがトッピングされているはずだ。
Pythonで書くとつぎのようになる。
# def crepe(ここが引数となる): def crepe(toppings: list): my_toppings = "" for topping in toppings: my_toppings += topping + "," print("クレープの中身は" + my_toppings + "です。") # topping_listsの中を"カスタード", "キャラメルソース", "バナナ"に変えれば、またちがった味が楽しめる topping_lists = ["ホイップクリーム", "チョコレートソース", "バナナ"] crepe(topping_lists)
上記のtopping_listsの中身を変えればクレープでも、味も名前もかわるということ。
引数のつかいどころ
さて、なぜ?がわかっても、いったいどこで使えばいいのか混乱するだろう。
引数の使いどころはつぎの2つだ。
- クラス
- 関数
だから、関数とクラスを使わないとき引数は必要ないといっていい。忘れていい。関数とクラスを使うときにほぼ必須と覚えておいてくれ。
もうちょっと深掘りしていこう。関数とはなにか?について。
関数とクラスってなに?
関数とクラスはクレープ生地の部分ということ。
~中略~
④ 小麦粉に牛乳などを加えてねり、薄くのばして焼いた菓子。ジャムやクリームをぬり、折ったり、巻いたりして食べる。
ベースの部分である、クレープ生地のつくりかたを知ればあとは材料を入れるだけでクレープができるだろう。
プログラミングでいうなら、
たとえば「CSV出力のコードいつも書いてるな...」とか。まあCSV出力についてはすでに関数が用意されていることが多いが。
グループ化することで1からまたコードを書く必要がなく、時間短縮にもなるしめんどくさくなくなる。
まとめ: 引数(ひきすう)は関数とクラスでつかっていこう
まずは上記を頭のすみにでも置いておこう。そして、これから関数とクラスを使うときに思い出してくれ。
1からコードを何回も書くのは、プログラミングするうえで正解ではない。なるべくグループ化し使うときに取り出すというイメージをもってコードを書いていこう。