2. 変数#

2.1. 基本#

代入文を書くと変数が作成され、その変数に値がセットされる。型は自動的に推定されるので、変数作成時に型を明示しなくてもよい(Python 3.5以降では型ヒントを使って変数の型を明示することが可能)。

x = 3

このように作成された変数は、Pythonのインタプリタが終了するまで保持される。変数の値を確認するには、その変数を評価させればよい。

x
3

変数の型はtype関数で確認できる。整数はint型で表現される。

type(x)
int

\(x \leftarrow x + 1\)といった変数の値の更新にも、代入演算子=が使える。

x = x + 1
x
4

上の更新処理は次のように書くこともできる(+=演算子はC言語にもあるが、C言語の++演算子に相当するものはない)。

x += 1
x
5

同様に、-=, *=, /=という演算子が用意されている。なお、以下のコードでは変数の値の更新と、更新後の変数の評価(表示)を一つのセルで行っている。

x -= 2
x
3
x *= 2
x
6
x /= 3
x
2.0

浮動小数点型の変数を作成するには、値を小数点付きで表現すればよい。

x = 1.5
x
1.5

浮動少数点数はfloat型で表現される。

type(x)
float

浮動小数点型から整数型に変換するには、int関数を用いる。以下の例ではxの値が切り捨てられる。

int(x)
1

整数型から浮動小数点型に変換するには、float関数を用いる。

float(2)
2.0

変数(オブジェクト)の削除はdel文で行う。ただ、Pythonでは使わなくなったメモリ領域は自動的に開放される(ガーベージコレクション)ため、明示的にdel文で変数を削除することは稀である。

del x

変数xを削除すると、評価できなくなる。

x
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
/tmp/ipykernel_2526/32546335.py in <module>
----> 1 x

NameError: name 'x' is not defined

2.2. 変数の再評価#

\(x = 1\)として\(y \leftarrow x^2 + 2x + 1\)を計算してみる。

x = 1.
y = x ** 2 + 2 * x + 1
y
4.0

変数xの値を2に変更してからyを評価しても、変数yの値は再計算されない(元の値から変化しない)。

x = 2
y
4.0

再計算をするには、変数yの代入文を再度実行する必要がある。

y = x ** 2 + 2 * x + 1
y
9

2.3. 複数の変数への代入#

一行で複数の変数にまとめて値を代入できる(厳密には後で説明するタプル型を介した代入である)。

x, y = 3, 1
x
3
y
1

変数の値の入れ替えも簡単に書ける(一時的な変数を使わずに書ける)。

x, y = y, x
x
1
y
3