プログラミングの"引数"とはクレープといっしょ
「プログラミングででてくる引数(ひきすう)とはクレープである」

と、まず覚えておいてほしい。さて、引数とクレープがいっしょとは?いったいどうゆうことなのか話していこう。

引数 = クレープ(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からコードを何回も書くのは、プログラミングするうえで正解ではない。なるべくグループ化し使うときに取り出すというイメージをもってコードを書いていこう。