変数について
プログラミングにおいて基礎中の基礎の変数について理解しましょう。
変数がなければプログラミングは成り立たないと言っても過言ではないので、しっかり学んでいきましょう。
変数とは
変数とは、数値や値を入れておく場所
変数はよく箱に例えられます。
例えばAさんとBさんのテストの合計点数を扱うとします。
「Aの合計点数」という名前の箱に「423」を、「Bの合計点数」という名前の箱に「398」をしまっておきます。もしAさんの合計点数を知りたければ、「Aの合計点数」の箱を参照すれば、すぐにわかります。
「423」「398」をそのまま使用すると、後で見返した時に誰の点数かわからなくなります。そもそも何の数値なのかもわからなくなります。
この例をプログラムで見てみます。
コード例1
print("423")
print("398")
コード例2
a_test_total = 423
b_test_total = 398
print(a_test_total)
print(b_test_total)
単純に表示するだけのプログラムです。コード例1では誰のテストの点数なのか、そもそも初めてみた場合、何の数値だかわかりません。コード例2を見ると初見でも何を表しているかわかると思います。
「a_test_total」「b_test_total」が変数と呼ばれるものです。
変数の使い方
変数を使う時は変数を宣言する必要があります。このことを変数宣言と言います。
変数宣言の仕方
変数名 = 値
先ほどの例で言いますと、「a_test_total」が変数名で、「423」が値となります。
また変数に値を入れること代入と言います。変数宣言も代入していることになります。
変数の値はいつでも中身を変えることが可能です。変え方は変数宣言と同じようにします。
コード
a_test_total = 423 # 変数宣言
print(a_test_total)
a_test_total = 430 # 代入
print(a_test_total)
実行結果
423
430
代入した場合、もともと入っていた値は無くなります。
また代入は単純に値だけではなく、計算結果や処理の結果を代入することができます。
コード
result = 1 + 1
print(result)
実行結果
2
変数名のルール
変数名にはルールがあります。
・英数字とアンダーバーが使用可能
・一文字目に数字は使用不可
・大文字小文字は区別される
・予約語は使用不可
ルールにはありませんが、変数名はわかりやすい名前をつけるように心がけましょう。
変数名を「a」「num」など適当な名前にするのは厳禁です。きちんと値に関係した名前にして、変数名をみただけでどんな値が入っているかわかるようにしましょう。
英数字(A〜Z a〜z 0〜9)とアンダーバー( _ )が使用可能
使用できる文字は
・アルファベット( A〜Z a〜z )
・数字( 0〜9 )
・アンダーバー( _ )
のみです。 %や$などの記号は使えないので注意しましょう。
一文字目に数字は使用不可
変数の一文字目に数字を使うことができません。一文字目に使えるのはアルファベットとアンダーバーです。
大文字小文字は区別される
プログラミングにおいて、大文字と小文字は別の文字の扱いになります。
以下の変数は全て違う変数となります。
コード
Test = "大文字小文字混合"
TEST = "全て大文字"
test = "全て小文字"
print(Test)
print(TEST)
print(test)
実行結果
大文字小文字混合
全て大文字
全て小文字
予約語は使用不可
予約語とは、プログラミング言語において、役割を持った単語のこと
条件分岐をする際に、「if」を使います。これを変数として使用できるようにしてまうと、プログラム上変数なのか、条件分岐なのかどっちか区別がつかなくなります。
そのため「if」などのように、プログラム上で役割を持っている単語は変数として使用できません。
型について
型とは、変数に格納されている値のデータの種類のこと
型には8種類あります。
int型:整数
float型:浮動小数点
str型:文字列
bool型:真偽値
list型:リスト・配列
tuple型:タプル
dict型:辞書
set型:集合
int型の変数は整数、str型は文字列と変数に格納されているデータの種類を表しています。
型は変数宣言した時、代入した時の値によって決まります。
コード
variable = 123 # 変数宣言
print(type(variable))
variable = "123" # 代入
print(type(variable))
実行結果
<class 'int'>
<class 'str'>
このとき「123」はint型ですが「”123″」とダブルクォーテーションで囲むとstr型になります。
練習問題
問題1 以下の3つのうち変数名として使えないものはどれか?
(ア) if_abc
(イ) 5_abc
(ウ) _abc
正解は(イ)
一文字目に数字は持ってこれないので(イ)が正解。
「if」は予約語だが、他の文字列と一緒に使われている場合は問題なし。
問題2 以下の値を変数に代入した時の型を答えよ。
(1)True
(2)1.76
(3)”1.76″
※ 型の調べ方は「print(type(変数名))」
(1) bool (2) float (3) str
以下のプログラムを実行して確認できます。
コード
variable1 = True
variable2 = 1.76
variable3 = "1.76"
print(type(variable1))
print(type(variable2))
print(type(variable3))