【初心者向け】変数とは何か?

変数

変数とは値に付ける名札です。
また、変数は名前を付けて使います。この名前を変数名と言います。
値は、数値でも文字列でも入れることが出来ます。

lang = "Python" # 変数langに文字列Pythonを代入 

変数の名前(lang)は自由に決める事ができます。
代入という言葉が出てきましたが、代入とは左辺の変数に右辺の値を変数に入れることを意味します。
またPythonは、変数名は大文字と小文字は区別されます。
そして、変数に保持した値は、プログラムが終了するまで値を保持します。
プログラムを終了することでメモリ上のデータも消去されるため、データを残しておきたい場合は、データベースやファイルにして保存する必要があります。

var = "var"
Var = "Var"
print(var) # varと出力される
print(Var) # Varと出力される

# Pythonで変数名をつける際に2単語続ける場合
lowercase_underscore = "lowercase_underscore" # 推奨
lowercaseunderscore = "lowercase_underscore"  # 非推奨

hello_world = "Hello, World" # 推奨
helloworld  = "Hello, World" # 非推奨

"""
上記のように小文字で下線(_)を挟むと言う決まりが推奨されています。
また非推奨の書き方で、変数を定義することもできますし、プログラムにはエラーは出ませんが、
推奨されている方法を使いましょう。
"""

変数を使わないプログラムと使ったプログラムの比較

変数を使わないプログラムと使ったプログラムを比べてみてください。
ここでは、変数がどれだけ便利なものなのかを知って頂きたいと思います。
まずは、変数を使わない場合のプログラムを見てみましょう。

print(15 + 1)
print(15 - 2)
print(15 * 3)
print(15 / 4)
print(15 % 5)

では15を220に書き換えてください。
もしこの場合、15と書かれた5つのprintの部分を全て220に書き換える必要が出てきます。
5行だけならまだそこまで大変ではありませんが、例えば100行、1000行だとどうでしょうか?
1つ1つ変更していくのはかなり骨の折れる作業になります。

このような時こそ、変数が役立ちます。
もしも最初から変数xというものが定義されていたら、
x = 15というのを、x = 220に書き換えるだけで済みます。

x = 220
print(x + 1)
print(x - 2)
print(x * 3)
print(x / 4)
print(x % 5)

変数を使うことで、先ほどは5行分の修正が必要だったものが、1箇所変えただけで終わります。
変数は便利ですので、是非使っていきましょう。

定数

定数は値が変えられない値です。
変数では値を後から変えられますが、定数は変えられません。
ですが、Pythonには定数を定義する構文がないため、定数的な意図を持って定義する場合には、すべて大文字で変数名を定義することが多いです。
大文字の変数に出会った場合には、値を書き換えないようにしたほうが無難です。
Pythonの定数に関しては、Pythonのコーディング規約PEP8(公式)などにも説明されております。

予約語

関数名や変数名に使用できない単語を予約語と呼びます。
予約語を用いてしまうと、構文エラー(SyntaxError)が起こってしまいます。
Python3系では、おおよそ30個ほどあります。

以下は全てPython3.6系での予約語ですので、それらは変数名などに使用できません。

[‘False’, ‘None’, ‘True’, ‘and’, ‘as’, ‘assert’, ‘break’, ‘class’, ‘continue’, ‘def’, ‘del’, ‘elif’, ‘else’, ‘except’, ‘finally’, ‘for’, ‘from’, ‘global’, ‘if’, ‘import’, ‘in’, ‘is’, ‘lambda’, ‘nonlocal’, ‘not’, ‘or’, ‘pass’, ‘raise’, ‘return’, ‘try’, ‘while’, ‘with’, ‘yield’]

まとめ

この章では、Pythonを使って変数を扱う方法を学びました。
変数の扱いは、プログラミングを行う上で、とても大事になってきますので、しっかり使いこなせるようにしましょう。