皆さんは「変数の宣言」について、詳しく説明することができますか?プログラミングの学習を始めたばかりの頃は、変数の扱いについてまだ慣れておらず、曖昧な認識しかない方も多いはず。
今回は初心者向けに「変数の宣言」について、実際のコードを用いながら解説していきます!また混同しがちな変数の定義との違いも徹底解説。この記事を通して、変数に対する認識を改めていきましょう。
目次
変数の宣言とは
まずは変数の宣言を行う方法を解説します。今回はPythonを主に用いています。Pythonは非常にシンプルでコードが短く、コード全体をスッキリ見せることができる言語です。
変数を宣言する
「変数の宣言」を行うことで、変数の型と変数の名前を決めることができます。「型」とは、数字や文字列などを指定することを意味し、コンピューターに「これから宣言する変数は数字ですよ」と伝えることができます。
また作成した変数には、名前を付けて管理しなければなりません。変数の宣言を行うと、指定した型の空の変数ボックスが出来上がります。
Pythonで変数宣言を行う
では実際にPythonで変数宣言を行いましょう。Pythonはコードの冗長性を排除した言語なので、型を宣言する必要がなく、文末にセミコロン(;)などの区切りも不要です。
実は1行目のコードでは、構文エラーとなってしまい、変数の宣言はできません。Pythonは型を記述する必要がない分、具体値を入れなければ変数は成立しないのです。
しかし4行目のコードでは、valueという変数が宣言された後に1を具体値として入れているためエラーにはなりません。この時初めてint型(数字)の変数valueが作成できました。
1 2 3 4 |
value #構文エラー value = 1 |
Javaで変数宣言を行う
Javaでは型の指定が必須になります。数字の変数を作成するには、intを変数名の前に付け、文字列型の変数を作成するには、Stringを変数名の前に付けます。
これでint型変数『value』と、String型変数『str』が作成できました。型を指定したので、int型の変数には数字のみ、String型の変数には文字列のみを入れることができます。
1 2 3 4 5 6 7 8 9 |
public class Main { public static void main(String[] args){ // int型(数字)変数を宣言 int value; //String型(文字列)変数を宣言 String str; } } |
複数の変数をまとめて宣言する方法
変数はまとめて宣言することもできます。Pythonでは変数の宣言のみを行うことができないので、実際に値を入れながら、複数の変数を宣言していきます。
print関数を使用して、それぞれ型ごとに出力してみると、実際にちゃんと値が格納されているのが分かります。数字は演算子によって計算が行われ、文字列は連結されます。ちなみに文字列に加法(+)以外は適用できないので注意してください。
1 2 3 4 |
value, string, value2, string2 = 1, "アイウエオ", 2, "カキクケコ" print(value + value2) print(string + string2) |
変数の宣言と定義の違い
この章ではよく混同される、変数の宣言と変数の定義の違いをご紹介します。Pythonでは宣言と定義をセットでしか行えないため、一部Javaを使用して変数の宣言・定義を行います。
変数を宣言する
まずは変数の宣言です。こちらは先ほど詳しく説明したので、理解できるでしょう。
1 2 3 4 5 6 |
public class Main { public static void main(String[] args){ // 変数の宣言 int main_value; } } |
変数を定義する
では次は変数を定義します。変数の定義とは、実際の値を変数に格納することを指します。ここではmain_valueという変数に「2」が定義されました。これで空の変数ボックスに初めて値が格納されたことになるのです。
1 2 3 4 5 6 |
public class Main { public static void main(String[] args){ // 変数の定義 main_value = 2; } } |
変数の宣言と定義はセットで使用する
当たり前ですが、変数の宣言と定義はセットで使用しなければ変数として活用できません。変数は具体値を入れて活用してこそ、意味があるからです。
そのため多くの場合は、変数の宣言と定義をセットで行います。この章で紹介したJavaで変数の宣言と定義を行うのであれば、次のように記述します。
1 2 3 4 5 6 7 8 9 10 11 |
public class Main { public static void main(String[] args){ // 変数の作成 int main_value = 2; String str = "ABCDE"; // 値の出力 System.out.println(main_value); System.out.println(str); } } |
変数はどこで活用するのか
入力ミスを減らす
変数を利用することの意味は様々です。一番の理由は、入力ミスを減らせることでしょう。構文エラーなどはコードエディターが感知してくれますが、値の入力ミスは感知しません。
しかし変数を使用すれば、宣言されていない変数は使用できず、変数の値もコードで上書きしない限り不変なので、結果として入力ミスを減らすことができるのです。
1 2 3 4 5 6 7 8 9 10 11 |
# 123456789 + 235234645734の四則演算 value1, value2 = 123456789, 235234645734 #加法 print(value1 + value2) #減法 print(value1 - value2) #乗法 print(value1 * value2) #除法 print(value1 / value2) |
マジックナンバーを作らない
マジックナンバーとはコード中に埋め込まれた値で、何の値か分からない値のことを指します。つまり書いた本人以外は判断に困惑する値なのです。
コードは複数人が目にすることが多いので、マジックナンバーをできるだけ作らないよう意識しなければなりません。またコードが長くなれば必然的に値の数も増えます。その際どの値が何を示すのか、分からないと作業効率が一気に落ちてしまうのも事実です。
1 2 3 4 5 |
#マジックナンバー num1 = 981 #変数宣言 account_number = 59 |
可読性のあるコードを作成できる
先ほどのマジックナンバーとも関連がありますが、コードはとにかく読みやすく作成するのが基本です。当たり前に自分だけでなく、他の人の目に入ることも想定しなければなりません。より読みやすいコードを作成するには、しっかりした変数名とともにコメントも使用すると良いでしょう。
1 2 3 4 5 6 |
#登録会員番号 account_number = 59 #会員氏名 name = "サクライハルカ" #年齢 age = 23 |
まとめ
今回は変数の宣言についてご紹介しました。変数は何となく使用しているかもしれませんが、しっかり意味と利用方法を理解して使用することで、よりステップアップができるでしょう。
変数名には言語ごとに規則があり、クラス名などと区別するのが一般的です。学んでいる言語の命名規則に従って、変数名を作成しましょう。
参考文献:
変数を宣言する
Pythonで変数を宣言する方法【初心者向け】
マジックナンバーとは