プログラミングを初めてみたはいいものの、実際に初めてみると専門用語だらけでよくわかりませんよね。
関数、引数、オブジェクト・・・普通に生活しているとまず使うことがない言葉ばかりで面食らってしまいます。
プログラミングを解説しているサイトや本でも、これらの専門用語は普通に出てきますので、概念を理解しなければなかなか学習も前に進みません。
そんなプログラミングの専門用語の中でも、初心者が最初にぶちあたるのが「変数」という概念です。
「変数は箱のようなもの」という説明をよく目にしますが、僕がプログラミング初心者のころは正直よく理解できませんでした。
僕が変数の概念を理解できるようになったのは、やはり実際に手を動かしてコードを打ってみたからです。
それでは、今回はこの「変数」とは何かをわかりやすく説明していきます!
ぜひあなたも一緒にコードを打ってひとつひとつ確認してみましょう!
変数って何?理解するには打ってみよう!
変数とは何かを理解するには、説明を読むよりも実際に触ってみるのが一番いいです。
プログラミングはスポーツのような一面があって、説明を読んだり聞いたりするよりも、実際に手を動かすのが一番覚えやすいんですよね。
それでは、変数とは何かを理解するために、Pythonというプログラミング言語を使って実際に確認してみましょう。
まだPythonの使い方がわからない、使ったことがないという方は、まずPythonをインストールすることが必要です。
それでは、Pythonを起動して、まずは普通に計算をしてみましょう。
「1+10」を入力してエンターキーを押すと、答えの「11」が表示されます。
変数を使った計算
じゃあ次は、変数を使った計算をしてみます。
まずは変数を作ってみましょう。
このように「x = 5」というコードを書いてエンターキーを押すと、変数”x”を作ることができます。
変数には名前と内容があり、この場合は”x”が名前、”5”が内容ということになります。
イメージとしては、5という数字にxというラベルを貼り付けたような感じですね。
変数を作ると、そのあとはその変数を使って計算することができます。
「10 + x」を入力してエンターキーを押すと、どうなるでしょうか?
先程作った変数”x”の内容は”5”ですから・・・
「10 + x」は「10 + 5」ということになります。
そうですね、答えは「15」です!
あなたのPCでも無事「15」が表示されたでしょうか?
では続けて別の変数も作ってみましょう。
次は「y = 7」と入力してエンターキーを押します。
これで”y”という名前で、内容が”7″の変数ができました。
次は変数”y”を使って計算をしてみましょう。
「10 + y」と打ってエンターキーを押すと・・・
変数”y”の内容は”7”ですから、答えは「17」が表示されました。
変数どうしの計算
さてさて、変数という概念が少しづつ理解できてきたのではないでしょうか?
ここまでは変数と数字の計算を見てきましたが、変数は変数同士でも計算できます。
さっき作った”x”と”y”のふたつの変数を使って計算してみましょう!
「x + y」と書いてエンターキーを押すとどうなるでしょう?
xの内容は5で、yの内容は7でしたから、答えの「12」が表示されると正解です!
さて、変数を使った計算もかなりマスターしてきたのではないでしょうか。
では、次は別の角度から変数というものにアプローチしてみましょう。
これまでは変数の内容を数字にして変数の働きを確かめてきましたが、変数は数字以外のものも内容とすることができます。
そのひとつが「文字列」です。
文字列を変数の内容にするには「 ” (ダブルクォーテーション)」で囲った文字列を変数の内容として指定します。
具体的に書くとこんな感じです。
「text = “明日は”」と書いてエンターキーを押します。
これで”text”という名前の変数に、”明日は”という内容を入れることができました。
ちなみに、変数の中に文字列を入れるときのダブルクォーテーションは必ず半角にしてください。
全角のダブルクォーテーションを打つとエラーになります。
続けて、別の変数も作っていきましょう。
text2 = “晴れ”
text3 = “曇り”
text3 = “雨”
これで3つの変数ができましたね。
さて、ここでひとつクイズを出します。
一つ注目してほしいのですが、”text3”という変数が2つ作られていますよね。
内容はそれぞれ、”曇り”と”雨”です。
この場合どうなると思いますか?
- 内容が違う「text3」という名前の変数が2つできる
- 「text3」の内容が「雨」で上書きされる
- あとで入力した「text3 = “雨”」は無視される
この3つのうち、答えはどれでしょうか?
答えは続きで明らかにしていきますので、少し考えてみてください。
では、とりあえず今は作った変数の内容を確認してみます。
「print(text) 」と打ってエンターキーを押してみましょう。
これを入力すると、変数”text”の内容が表示されます。
さきほど変数”text”を作ったときに入力したコードは「text = “明日は”」ですので、内容は「明日は」になっているはずです。
では、次はさらに一歩進んでみましょう。
プログラミングの世界では文字列と文字列をくっつけるをすることができます。
やり方は数字の足し算と同じです。
試しに「 print(text + text2) 」と入力してエンターキーを押してみましょう。
すると「明日は晴れ」と表示されますね。
変数”text”の内容は「明日は」
変数”text2”の内容は「晴れ」
ですから、
text + text2 は「明日は晴れ」となるわけです。
別の変数でも試してみましょう。
「 print(text + text3) 」と入力してエンターキーを押すと・・・
「明日は雨」と表示されましたね!
さあ、ここで先程のクイズの答えが明らかになりました!
text + text3と入力した結果が「明日は雨」となっていますから、
さっきのクイズの答えは2番だったのです!
つまり、先に入力した「曇り」は、あとから入力した「雨」で上書きされていたということですね。
実は、変数というものは同じ名前のものを複数作ることはできないのです。
すでにある名前の変数を作ると、あとで作った方の内容で上書きされ、先に作ったほうの内容は消えてしまいます。
これは変数を扱ううえで非常に重要なポイントなので、ぜひ覚えておいてください。
では、もうちょっと進めてみましょう。
さっきは「 print(text + text3) 」でしたが、これを逆にして「 print(text3 + text) 」にしてみましょう。
すると、「雨明日は」と表示されますよね。
文字列の変数どうしをくっつけるとき、順番を入れ替えると出来上がる文字列も変わるのです。
数字どうしの計算であれば順番を入れ替えても答えは変わりませんが、文字列の計算では答えが変わるというわけですね。
当然といえば当然のことですが、これは変数というものを理解するには重要なポイントなのです。
変数”text”の内容は「明日は」で、変数”text3”の内容は「雨」です。
なので・・・
「text + text3」の答えは「明日は雨」になり、
「text3 + text」の答えは「雨明日は」になるわけですね。
いかがでしょうか。
ここまで来ると、かなり「変数」というものがどういうものか理解できてきたのではないでしょうか。
さて、ここまでの説明で変数の「名前」と「内容」という言葉を使って説明してきましたが、
実際には名前は「変数名」と呼ばれることが多く、内容は「値」と呼ばれることが多いです。
この点も、ぜひ最後におさえておいてください。
まとめ
さて、今回は数字と文字列を使った変数を実際に入力して変数の働きをみてきました。
いかがでしたでしょうか。
変数はプログラミングをやっていく上で絶対に欠かせない要素です。
そして、非常に便利なツールでもあります。
今回の記事では数字や文字列を変数の説明をしてきましたが、変数はもっと別のものを値として持つことができます。
例えば関数やデータなど、ほとんど何でも変数の値とすることができます。
そして、変数のこの特性を生かして、プログラミングをしていくわけですね。
変数を制するものはプログラミングを制する!と言っても言い過ぎではないかもしれません。
ぜひ、なんどもキーボードを叩いてみて、変数の働きを自分の目で確かめてみてください。
それが変数というものを理解する一番の近道なのですから!