Pythonの演算子(Operators)は、一つまたは複数の値(オペランド)に対して特定の操作を行うための記号または特殊なキーワードです。これらの演算子によって、データの比較、変数の代入、算術計算、論理演算などが可能になります。Pythonにおける主な演算子のカテゴリを以下に示します:
1. 算術演算子 (Arithmetic Operators)
- 加算 (
+
), 減算 (-
), 乗算 (*
), 除算 (/
) - 剰余演算 (
%
), べき乗 (**
), 切り捨て除算 (//
)
# 算術演算子 a = 5 b = 2 print(a + b) # 加算 print(a - b) # 減算 print(a * b) # 乗算 print(a / b) # 除算 print(a % b) # 剰余 print(a ** b) # べき乗 print(a // b) # 切り捨て除算
2. 代入演算子 (Assignment Operators):
- 代入 (
=
), 加算代入 (+=
), 減算代入 (-=
), など
# 代入演算子 x = 10 x += 5 # x = x + 5 x -= 5 # x = x - 5 x *= 5 # x = x * 5 x /= 5 # x = x / 5 x %= 5 # x = x % 5 x //= 5 # x = x // 5 x **= 5 # x = x ** 5 x &= 5 # x = x & 5 x |= 5 # x = x | 5 x ^= 5 # x = x ^ 5 x >>= 5 # x = x >> 5 x <<= 5 # x = x << 5
3. 比較演算子 (Comparison Operators):
- 等しい (
==
), 等しくない (!=
), より大きい (>
), より小さい (<
) - より大きいまたは等しい (
>=
), より小さいまたは等しい (<=
)
# 比較演算子 x = 10 y = 12 print(x == y) # 等しい print(x != y) # 等しくない print(x > y) # より大きい print(x < y) # より小さい print(x >= y) # より大きいか等しい print(x <= y) # より小さいか等しい
4. 論理演算子 (Logical Operators):
- 論理AND (
and
), 論理OR (or
), 論理NOT (not
)
# 論理演算子 a = True b = False print(a and b) # 両方ともTrueならTrue print(a or b) # どちらかがTrueならTrue print(not a) # TrueならFalse, FalseならTrue
5. 同一性演算子 (Identity Operators):
- 同じオブジェクトを参照しているか (
is
), していないか (is not
)
# 同一性演算子 x = ['apple', 'banana'] y = ['apple', 'banana'] z = x print(x is z) # 同じオブジェクトならTrue print(x is y) # 異なるオブジェクトだとFalse print(x == y) # 値が等しい
6. メンバシップ演算子 (Membership Operators):
- 指定した値がシーケンスに含まれているか (
in
), 含まれていないか (not in
)
# メンバシップ演算子 x = ['apple', 'banana'] print('banana' in x) # リストに含まれている場合True print('cherry' not in x) # リストに含まれていない場合True
7. ビット演算子 (Bitwise Operators):
- ビットAND (
&
), ビットOR (|
), ビットXOR (^
), ビットNOT (~
) - ビット左シフト (
<<
), ビット右シフト (>>
)
# ビット演算子 a = 0b101010 b = 0b110100 print(a & b) # ビットごとのAND print(a | b) # ビットごとのOR print(a ^ b) # ビットごとのXOR print(~a) # ビットごとのNOT print(a << 2) # 左シフト print(a >> 2) # 右シフト
8. 演算子の優先順位 (Operator Precedence):
- 演算子が複数ある式では、演算子の優先順位に従って計算が行われます。
# 演算子の優先順位 a = 20 b = 10 c = 15 d = 5 e = (a + b) * c / d # (30 * 15) / 5 print(e) # 90.0
このように、Pythonには多くの種類の演算子があり、それぞれに重要な役割があります。これらを適切に使いこなすことで、より効率的で読みやすいコードを書くことができます。