変数とは?


※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

電卓には安物でも「メモリー機能」が付いている。

それは計算した結果を1つだけ電卓に保存できるというものだ。


変数とは要はそれのことで、

変数1個につき、1つの値を保存できるというすぐれものだ。


電卓とちがうのは、プログラミング言語では変数をたくさん、数えられないくらい用意して使うことができる。

つまり、値をその分だけ保存できるということ。


掛け算九九と記憶された値

値が保存できるというのはとても便利なことだ。

変数を用意して値を保存するときに、僕は小学生の時に泣きながら九九を暗記したのをよく思い出す。

ようはそういうことだ。


もしあの時九九を暗記していなかったとする。

3×6を計算するとき、3+3+3+3+3+3をするか、6+6+6をするか、

いずれどちらかの計算をする羽目になる。

だがしかし、日本人の脳みそには「3X6」という名前の変数が小学校の頃にしっかりと作られており、

その変数の値をすぐに確かめることができる。18だ。


こうやって値を記憶して計算を速くする方法を、コンピュータの世界では

メモ化、ルックアップテーブル、動的計画法などと呼ばれる。


*インド人は99X99まで暗記しているというが、それはつらいことじゃなく、

より楽に、より早く計算する方法だということがこれでわかる。


個人的に思ってること

もっとも危険で、最も厄介で、でも強力なプログラミングにおける構文の一つです。

「変数がなくてもプログラムできる言語」も世の中にあると仰られますが、

関数名も広義ではコール可能なオブジェクトが格納された変数の一種と見ることができますので、

そういう意味では変数を回避することはできません。


変数を利用すると、プログラムの値や変数の内容を簡単にプログラムの文中へ広げることができる。

def func(a,b):
  #この関数内であれば,aとbは記述し放題
  c = a+b
  d = b+a+a