Developer

【Python独学】変数の定義と呼び出し方
2020.11.01
Lv1

【Python独学】変数の定義と呼び出し方

変数とは

今回は、Pythonを使う上で必ず必要となる変数について扱っていきます。


多くのプログラミング言語では、「変数」と呼ばれる領域にデータを格納します。
わかりやすく言えば、値を入れておくための箱のようなものです。
数値や文字列など、プログラムの中で繰り返し用いるデータを格納し、必要なときに取り出して使います。

一般的なプログラミング言語では、変数を扱う際にデータ型と呼ばれる、中に格納する
データの種類を指定し、変数を宣言します。
ですが、Pythonではデータ型の指定や変数の宣言といった作業は必要ありません。
さっそく、変数を扱ってみましょう。

val = 10
print(val)

 

コードを記述し保存したら、実行します。

C:\Python>python 2-1.py
10

10という値が表示されたと思います。
valという変数に対して、10という値を代入し、その値をprint関数で表示しました。

1行目では、valという変数に対して10という値を代入しています。
Pythonでは、変数に名前をつけ、値を代入することで変数が作られます。
ここで使っている「=」は、算数などで用いる等号ではなく、=の左にあるvalという名前の変数に
10という値を代入する、という操作をする「代入演算子」と呼ばれるものになります。

2行目では、valという変数の中身をprint関数を使って表示しています。
print関数については、こちらの記事で紹介していますので参照してください。

同じように、今度は文字列を代入してみましょう。

name = "sak"
print(name)
C:\Python> python 2-1.py
sak

先程の例と同様に、nameという変数に対して値を代入しています。
先程は数字を代入しましたが、今回はsakという文字列を代入しました。
Pythonでは、多くの種類のデータを変数に代入することが出来ます。

次の例では、複数の変数を扱っています。

sansu = 70
kokugo = 80
all = sansu + kokugo
print(all)
C:\Python> python 2-1.py
150

150という値が表示されたと思います。
1、2行目では sansu と kokugo という2つの変数を定義し、それぞれに値を代入しました。
3行目では、上で値を代入した2つの変数を使って計算をして、その結果をallという変数に代入しています。
そして、allに代入された値を表示しています。
このように、変数は代入した値を使って計算などをすることが出来ます。

では次に、もう1つ変数を用意し、3つの変数の値の平均を求めてみましょう。

sansu = 70
kokugo = 80
eigo = 60
all = sansu + kokugo + eigo
print(all)
print(all / 3)
C:\Python> python 2-1.py
210
70.0

2行目では、先程一度扱ったallという変数に、3つの変数を足し合わせた別の値を代入しています。
このように、変数に代入した値は後から変更することができます。
また、一度値を代入した変数は、計算式などで何度も用いることが出来ます。

ただし、一度代入した値は、改めて代入し直さない限り更新されません。

sansu = 70
kokugo = 80
eigo = 60
all = sansu + kokugo + eigo
print(all)
eigo = 90
print(all)
C:\Python> python 2-1.py
210
210

allという変数には、3つの変数の値を足し合わせた値が代入されています。
しかし、eigoという変数の値を変えても、allに代入された値は変わりません。
allには、あくまで3つの変数に代入された値を足し合わせた合計の値が代入されているだけで、
3つの変数が直接代入されているわけではないからです。

sansu = 70
kokugo = 80
eigo = 60
all = sansu + kokugo + eigo
print(all)
eigo = 90
all = sansu + kokugo + eigo
print(all)
C:\Python> python 2-1.py
210
240

eigoの値を変更したのち、再度3つの変数の値を足して変数allに代入する計算を行うことで
変数allの値が更新されました。

では、以下のように入力し、実行した場合はどのように表示されるでしょうか。

sansu = 70
kokugo = 80
eigo = 60
all = sansu + kokugo + eigo
print(aal)
C:\Python> python 2-1.py
Traceback (most recent call last):
File “2-1.py”, line 5, in
print(aal)
NameError: name ‘aal’ is not defined

英文が4行ほど表示されたと思います。
4行目に「NameError」と記載されている通り、一度も使われたことがない変数を
使おうとすると、Pythonがエラーを出力してくれます。
今回のエラーの場合、変数名をタイプミスしていることが原因です。

 


 

変数の命名

変数の名前の付け方にはルールがあります。
Pythonでは、変数名には半角英数と_(アンダースコア)を使うことが出来ます。
ひらがなや漢字などのマルチバイト文字も扱うことが出来ますが、一般的には使いません。
また、慣例として変数名は小文字でつけることが多いです。

変数名には、スネークケースと呼ばれる単語と単語を_で結んだ名前の付け方がよく用いられます。

・スネークケースの例

color_list、id_testなど

また、変数名の1文字目は数字は使えません。_以外の記号や演算子も扱えません。
それ以外に、Pythonで定義された予約語も変数名として扱うことは出来ません。
予約語とは、Pythonではじめから定義されている語句のことで、
例えば “print” という文字列はprint関数で使う文字列として定義されているため、
変数名などに用いることは出来ません。

・使用できない文字列の例

8day、student@sak

・予約語の例

False、True、None、and、as、assert、async、await、break、class、continue、など

まとめ

変数を用いる際は、
変数名 = 値
のように、代入演算子を用いて変数に値を代入することで変数を定義します。
変数を呼び出す際は、変数名単独で実行するか、式の中で変数名をそのまま入力します。


確認問題

1.変数testに値を代入し、変数を定義してみましょう。
2.testに代入された値を確認してみましょう。
3.testに別の値を代入し、値が更新されたことを確認してみましょう。

連載目次

独学で学ぶ Pythonプログラミング 連載目次