【Python入門】よく使う演算子の一覧や使い方についてわかりやすく解説
足し算・掛け算といった演算や、値の大小を比較する際には演算子を用いる必要があります。
「演算子」というと+
や>=
のような記号が一般的ですが、Pythonではそれ以外にも様々な演算子が用意されています。
この記事では、Pythonでよく使う演算子の一覧や種類、それぞれの使い方について解説していきます。
値の計算に用いる演算子
値を計算したり、それらの結果を代入する際に用いる演算子として、「算術演算子」や「代入演算子」があります。
算術演算子
演算子 | 使用例 | 説明 |
---|---|---|
+ | +a または a + b | 数値の符号を変えない/左辺に右辺の値を足す |
- | –a または a – b | 数値の符号を反転/左辺から右辺の値を引く |
* | a * b | 左辺に右辺の値をかける |
/ or// | a / b または a // b | 左辺から右辺の値を割る(// は小数点以下切り捨て) |
% | a % b | 左辺÷右辺の余りを取得する |
2つの値に対して演算を行いたい場合は、算術演算子を用いて結果を取得します。
足し算や掛け算といった基本的な計算はもちろん、%
のような「割り算の余りを取得する」操作も可能です。
x = 7 # xという変数に、数値(7)を保持
y = 2 # yという変数に、数値(2)を保持
print("7 + 2 =", x + y) # 「x + y」の結果を表示
print("7 - 2 =", x - y) # 「x - y」の結果を表示
print("7 * 2 =", x * y) # 「x * y」の結果を表示
print("7 / 2 =", x / y) # 「x / y」の結果を表示
print("7 // 2 =", x // y) # 「x // y」の結果を表示
print("7 % 2 =", x % y) # 「x % y」の結果を表示
= 実行結果 =
7 + 2 = 9
7 - 2 = 5
7 * 2 = 14
7 / 2 = 3.5
7 // 2 = 3
7 % 2 = 1
代入演算子
演算子 | 使用例 | 説明 |
---|---|---|
= | a = b | 左辺に右辺の値を代入する |
+= | a += b | 左辺に「左辺 + 右辺」の値を代入する |
-= | a -= b | 左辺に「左辺 – 右辺」の値を代入する |
*= | a *= b | 左辺に「左辺 × 右辺」の値を代入する |
/= or//= | a /= b a //= b | 左辺に「左辺 ÷ 右辺」の値を代入する ( //= の場合は小数点以下切り捨て) |
%= | a %= b | 左辺に「左辺 ÷ 右辺 の余り」の値を代入する |
&= | a &= b | 左辺に「左辺 かつ 右辺」の結果を代入する |
|= | a |= b | 左辺に「左辺 または 右辺」の結果を代入する |
^= | a ^= b | 左辺に「左辺または右辺の一方のみを含む」の結果を代入する |
変数に値を保持したい場合や、それらを用いて新たに演算した結果を代入(更新)したい場合は代入演算子を使用します。
たとえば、「a = b」と記述した場合は、「a(の値)をbの値に書き換える」といった意味合いを持ちます。
また、=
の前についている演算子は、対応する「算術演算子」や「ビット演算子」と同じ処理になります。
num = 5 # numという変数に、数値(5)を保持
st = {1, 2, 3} # stという変数に、セットを保持
num += 1 # numに「num + 1」の値を代入
print("5 += 1 :", num) # numの中身を表示
st &= {2, 3, 4} # lsに「st(の要素) かつ セット(の要素)」の結果を代入
print("{1, 2, 3} &= {2, 3, 4} :", st) # lsの中身を表示
= 実行結果 =
5 += 1 : 6
{1, 2, 3} &= {2, 3, 4} : {2, 3}
値同士の比較に用いる演算子
値同士を比較して結果を返す演算子として、「比較演算子」や「論理演算子」、「ビット演算子」があります。
比較演算子
演算子 | 使用例 | 説明 |
---|---|---|
== | a == b | 右辺と左辺の値が等しい |
!= | a != b | 右辺と左辺の値が等しい |
> | a > b | 右辺の値が左辺より大きい(超過) |
< | a < b | 右辺の値が左辺より小さい(未満) |
>= | a >= b | 右辺の値が左辺以上である |
<= | a <= b | 右辺の値が左辺以下である |
is | a is b | 右辺と左辺が完全に同一である (例えば、データ型が異なる場合はFalse(偽)) |
is not | a is not b | 右辺と左辺が完全に同一でない |
in | a in b | 左辺の中に、完全に同一な右辺が含まれる (例えば、データ型が異なる場合はFalse(偽)) |
not in | a not in b | 左辺の中に、完全に同一な右辺が含まれない |
2つの値を比較し、その結果を確認したい場合は比較演算子を使用します。
比較演算子では、演算子を用いて記述した式に対して真偽値(TrueまたはFalse)を返します。
例えば、「5 > 3」の場合は正しい式なのでTrue、「5 < 3」の場合は間違っているのでFalseといった結果となります。
x = 5 # xという変数に、数値(5)を保持
y = 3 # yという変数に、数値(3)を保持
z = 5.0 # xという変数に、数値(5.0)を保持
print("5 == 5.0 :", x == z) # 「x == z」の結果を表示
print("5 != 3 :", x != y) # 「x != y」の結果を表示
print("5 < 3 :", x < y) # 「x < y」の結果を表示
print("5 >= 5.0 :", x >= z) # 「x >= z」の結果を表示
print("5 is 5.0 :", x is z) # 「x is z」の結果を表示
print("5 in [1, 2, 3] :", x in [1, 2, 3]) # 「x in リスト」の結果を表示
= 実行結果 =
5 == 5.0 : True
5 != 3 : True
5 < 3 : False
5 >= 5.0 : True
5 is 5.0 : False
5 in [1, 2, 3] : False
真偽値(True/False)やデータ型については、こちらの記事で解説してます
論理演算子(ブール演算子)
演算子 | 使用例 | 説明 |
---|---|---|
and | a and b | 右辺かつ左辺が真であればTrue(真)を返す |
or | a or b | 右辺または左辺が真であればTrue(真)を返す |
not | not a | 値が偽であればTrue(真)を返す |
1つあるいは2つの真偽値(True/False)をもとに条件付けを行いたい場合は、論理演算子(ブール演算子)を使用します。
and
とor
では、2つの値がTrue/Falseのどちらを示すかによって返す値が決まります。
例えば、「5 < 3 and 3 > 0」と「5 < 3 or 3 > 0」の場合
- 5 < 3 …誤った式である(=False)
- 3 > 0 …正しい式である(=True)
となるため、結果は以下のようになります。
- 5 < 3 and 3 > 0 …両方真を満たしていない(=False)
- 5 < 3 or 3 > 0 …片方で真を満たしている(=True)
x = 5 < 3 # xという変数に、「5 < 3」の結果を保持
flg = True # flgという変数に、真偽値(True)を保持
print("5 < 3 and True :", x and flg) # 「x and flg」の結果を表示
print("5 < 3 or True :", x or flg) # 「x or flg」の結果を表示
print("not True:", not flg) # 「not flg」の結果を表示
= 実行結果 =
5 < 3 and True : False
5 < 3 or True : True
not True: False
ビット演算子
演算子 | 使用例 | 説明 |
---|---|---|
& | a & b | 左辺かつ右辺の集合を返す(積集合) |
| | a | b | 左辺または右辺の集合を返す(和集合) |
^ | a ^ b | 左辺または右辺の一方のみに含まれる集合を返す |
ビッド演算子は、ビット単位において双方のフラグ(0/1)を比較し条件付けるための演算子です。
ビット演算子の使用場面として、辞書やセットのような位置情報を持たない配列の操作に用いることが多いです。
例えば&
の場合、2つの配列において共通の要素のみ取り出した配列(積集合)を取得できます。
st_a = {1, 2, 3} # st_aという変数にセットを保持
st_b = {3, 4, 5} # st_bという変数に別のセットを保持
print("{1, 2, 3} & {3, 4, 5} :", st_a & st_b) # 「st_a & st_b」の結果を表示
print("{1, 2, 3} | {3, 4, 5} :", st_a | st_b) # 「st_a | st_b」の結果を表示
print("{1, 2, 3} ^ {3, 4, 5} :", st_a ^ st_b) # 「st_a ^ st_b」の結果を表示
= 実行結果 =
{1, 2, 3} & {3, 4, 5} : {3}
{1, 2, 3} | {3, 4, 5} : {1, 2, 3, 4, 5}
{1, 2, 3} ^ {3, 4, 5} : {1, 2, 4, 5}
まとめ
この記事では、Pythonでよく使う演算子の一覧や種類、それぞれの使い方について解説しました。
Pythonは複雑な演算処理に向いているため、プログラミングを行う上では切っても切れない関係にあります。
様々な種類の演算子を紹介しましたが、どれもよく使うものばかりですので、しっかりと基本を押さえておくようにしましょう。