pythonに限らず、ほとんどのプログラミング言語で「変数」は出てきます
変数とは値を格納するためのものとして紹介されていますが、具体的にはどういったことを指すのでしょうか?
この記事ではpythonにおける変数について、
どのような時に使うのかを、サンプルコードを交えながら
解説していきたいと思います
また、今回紹介する変数の他に、「ウィジェット変数」と呼ばれるものもあります
こちらについては、以下の記事を参考にしてみてください

Contents
pythonの変数とは?
変数とは、データを保持しておくための箱のようなものです
例えば、以下のような箱にそれぞれの数字を入れた場合を考えてみます

それぞれの値が入っている箱をそれぞれ「変数〇〇」と呼ぶことになります
また、変数には文字列以外に「A+B」のような四則演算値を入れることも可能です
変数の定義
pythonで変数を使う場合には、まずは変数を定義しなくてはいけません
他のプログラミング言語では、変数宣言や型宣言という、
「こういった変数を使います」
という宣言が必要になりますが、pythonの変数ではそういった宣言が必要ありません
使いたい変数名を左辺、右辺には値を入力して、イコールで結ぶだけで変数として使うことができます
変数名 = 値
実際に変数を定義してみましょう
A=15
B=20
#数字以外も可能
C=A+B
print(C)
これで変数の定義は終了です
今回は変数Cを出力するためにprint()を使いました
定義していない変数を使うと
NameError:name ‘〇〇’ is not defined
というようなエラーが発生しますので、覚えておきましょう
変数の再代入
すでに宣言している変数に別の値を代入することも可能です
A=15
print(A)
A=150
print(A)
上記のコードを実行してみると、15と150という値が出力されるはずです
プログラミングでは上から順番に実行されていくため、変数の再代入が可能となっています
異なる変数への代入
また、一度定義した変数を別の変数の値として代入することも可能です
A=15
B=A
print(A)
print(B)
上記コードを実行すると、変数名A,Bともに数字の15が出力されるのがわかると思います
このようにpythonの変数は変数名自体を右辺に持ってくることも可能となっています
複数同時の初期化と代入
コードを書いていると、一度にまとめて変数を定義したい場面が出てきます
そういった時には、複数の変数を同時に初期化して、代入することが可能です
X,Y,Z=15,30,45
A,B,C=X,Y,Z
print(A)
print(B)
print(C)
上記のコードを実行すると、「A ,B,C」には代入していない数字が出力されます
これは異なる変数への代入と同じで、さらに複数をまとめて定義していることになります
本来であれば、一つずつ定義していた変数ですが、このように一行にまとめて定義することも可能です
pythonの変数名の付け方
pythonでは変数名の付け方は以下のルールに則ってつけていく必要があります

- 使用できる文字は a ~ z 、 A ~ Z 、 0 ~ 9 、アンダーバー(_)、漢字など
- 一文字目に数値(0~9)は使用できない
- 一文字目にアンダーバーは使用できるが特別な用途で使用されているケースが多いので通常は使用しない方がいい
- 大文字と小文字は区別される
- 予約語は使用できない
python3以降では、変数名に漢字も使用することができるようになりましたが、
英語ばっかりのコードに一箇所だけ漢字があるのも違和感なので、漢字で変数名をつけるのはやめておいた方がいいと思います
また、pythonには「予約語」と呼ばれている、あらかじめ定義されている単語があります
予約語を確認するには、以下のコードを入力すればOKです
import keyword
print(keyword.kwlist)
以下が予約語一覧です

pythonには組み込み関数もある
pythonには予約語のほかに「組み込み関数」と呼ばれるものもあります
組み込み関数の一覧は以下を参考に

組み込み関数はすでに役割が決められている関数ですが、
input()やmap()などを変数名にすると、その役割を上書きすることができます
そのため、変数名を定義する場合には、組み込み関数と干渉していないか気をつける必要があります
以下のサイトではpythonで組み込み関数と同じ名前の変数を使うべきではない理由について述べていますので、参考にしてみてください
まとめ
- 変数とはデータを保存しておく箱
- 変数の特徴は、何かしらのデータを入れられる、定義した後にいつでもどこでも使える
- 変数名からそのデータの意味がわかる
- 変数を使うには定義が必要
- 変数名にはいくつかのルールがある