Contents menu
本日はPythonというよりもプログラミングをするために必要な予備知識ということで定数と変数と関数を簡単におさらいしてみましょう。
筆者のように小・中・高と音楽に明け暮れていたりスポーツに打ち込んでいたり、青春を謳歌しまくってしまった人は「んーーーやったのは覚えてるんだけど、なんだっけ?」という知識は算数、数学共にかなりあるはずです。
プロのエンジニアになりたい方にとっては、数学の知識も必須となりますが、プログラミングを日常のスキルとしてちょっと使いたい人にとってはサクッと思い出して次に進みたいもの。
本日はそんな基礎予備知識「定数、変数、関数」を思い出しましょう。
Pythonコース【.pro】

定数と変数

数学の文字式に度々登場する「x, y, a, b」などの文字はそれぞれ「とある数」を表しています。
この中で、変数を表すためのアルファベットは後半の文字から使われることが多いです。
例えばx, yなど。
変数とは「時間や条件によって変化する定まっていない数」のことを指します。
スーパーで10個入りの卵が1パックx円で売られていたとします。
そのときの卵一個の値段をyとすると、y(卵一個の値段) = x / 10 となります。
memo
もちろん「卵1パックの値段が200円(x)で、一個の値段は?」と言われればほとんどの人は一個20円(税抜き)とすぐにわかると思います。
しかし、これが卵1パック(13個入)の値段が246万6785ベトナムドンだった場合の一個の値段は?
という算数はコンピューターにやってもらいましょうというのがプログラミングの基本概念になります。
定数
定数は固定数字で、アルファベットの前半の文字が使われることが多いです。
例えばそのスーパーではレジ袋が一枚5円だったとしましょう。
すると、レジ袋は固定費ですから[a]とできます。
先ほどの例で、卵1パックx円で3パック買った時の合計金額yは y = 3x + a となります。
これもベトナムドンで考えると如何にコンピューターにやってもらった方が楽かがわかります。
例えばクラスの在籍人数だったり、顧客数だったり、投資の世界だと年間利回り数だったりを定数としてプログラムを書いていくことができます。
関数
一方を決めると一方が決まる概念のことを関数と言います。
例えば、卵1パック = 変数x
レジ袋は5円
で3パック買った時は合計金額yは・・・
y = 3x + 5 となります。
xの値が決まると、自動でyが決まります。
yが決まると自動的にxが決まります。
この関係を「yはxの関数」であると表現できます。
よく計算ボックスで例えられます。
y = 3x + 5というのが計算ボックスですね。
ここの変数に何か数字を入れたら自動で答えが吐き出されてくる便利な箱だと考えるようにしましょう。
ちなみに関数は英語で「function」と言います。
Pythonではたくさんの組み込み関数(自動的にやってくれる便利な魔法の箱)が多数用意されています。
これらの関数の役割を覚えて、上手に適材適所に使うことが習得の味噌であると言えます。
もちろん、何か創りたいプログラムの中に自作の関数を定義して、常時呼び出して使うことができます。
体力満タンでポーションは使いません、関数はゲームでいうところの便利なアイテムだと思いましょう。
豆知識:デカルトのルール

アルファベットの後半で変数を表し、定数を前半で表すと言う表記慣例はフランスの哲学者兼数学者のルネ・デカルトが使い始めたと言われています。
ただ、この表記法を守らなければいけないということはもちろんありません。
memo
変数が時間の場合はtimeのイニシャルをとって[t]、速度の時は、velocityの頭文字をとって[v]と表します。
また、自然数はnaturalから[n]と表すことが慣例となっています。
もちろん時間をjikanから[j]と表したり、自然数を[z]と表記しても何も問題はありません。
ただ、複数人でプログラムを作っていく際や、誰かに見てもらったり、教えてもらったりする場合などは慣例に従った方がスムーズにいくので一般教養として覚えておきましょう。