はじめに
ここでは、Python初心者向けに、「変数」について解説します。
Python3系の使用を前提とします。
変数の定義
変数を定義する際には「変数名 = 値」という書き方をします。
このとき、=(イコール)は左辺と右辺が「等しい」という意味ではなく、左辺と右辺を「等しくする」つまり左辺に右辺を代入するといった意味になります。
'='の前後はスペースがあってもなくても良いですが、見やすくするため半角スペースを入れるのが慣習になっています。
var_str = 'Hello, World!'
var_int = 123
var_bool = True
変数名には、半角英数字、アンダースコア('_')が使えます。
Python3では全角文字も使えますが、あまり使う機会はないでしょう。
変数名が2単語以上になる場合はアンダースコアでつなぐのが一般的です。 どんな値が格納されているのか、誰が見てもすぐに分かるような変数名をつけるようにします。
ただし、変数名を予約語(既にPython内部で定義されている単語)にしたり、先頭を数字にしたりしてはいけません。
print = 'Hello, World!' # この時点でエラーは出ないが、print関数を実行するとエラーが出る。
1num = 123 # エラーになる。
上記のprintの例については、少し難しい書き方をすると、printというオブジェクトが元々は関数だったのに変数に置き換えられて、関数としては実行できなくなる、というイメージになります。
下に書きますが、変数は値を更新することができます。
一方で、値を更新しないことを前提として変数(定数)を定義する場合は、変数名を全て大文字にしておくと、値の更新がない定数であることが分かりやすくなります。
CONST = '定数' # 仕様上値を更新することはできる。
変数の値の参照
変数名をprint関数の引数に指定することで、値を参照することができます。
var_str = 'Hello, World!'
print(var_str)
var_int = 123
print(var_int)
var_bool = True
print(var_bool)
print('var_str') # var_strと出力される。
変数名をクォーテーションで囲んでしまうと、変数の値ではなく、変数名そのものの文字列として出力されてしまうので、注意が必要です。
変数の値の更新
既に定義されている変数に対して「変数名 = 値」とすることで、変数の値を更新することができます。
var = 'Hello, World!'
print(var) # 定義
var = 'Hello, Python!'
print(var) # 更新
まとめ
ここでは、Pythonにおける変数について解説しました。
色々な場面で使うものなので、実際にスクリプトを書きながら理解を深めると良いと思います。