Python3 #11: 演算子(Operators)

独習 PYTHON 3

Pythonの演算子(Operators)は、一つまたは複数の値(オペランド)に対して特定の操作を行うための記号または特殊なキーワードです。これらの演算子によって、データの比較、変数の代入、算術計算、論理演算などが可能になります。Pythonにおける主な演算子のカテゴリを以下に示します:

1. 算術演算子 (Arithmetic Operators)

  • 加算 (+), 減算 (-), 乗算 (*), 除算 (/)
  • 剰余演算 (%), べき乗 (**), 切り捨て除算 (//)
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# 算術演算子
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) # 切り捨て除算
# 算術演算子 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) # 切り捨て除算
# 算術演算子
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):

  • 代入 (=), 加算代入 (+=), 減算代入 (-=), など
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# 代入演算子
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
# 代入演算子 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
# 代入演算子
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):

  • 等しい (==), 等しくない (!=), より大きい (>), より小さい (<)
  • より大きいまたは等しい (>=), より小さいまたは等しい (<=)
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# 比較演算子
x = 10
y = 12
print(x == y) # 等しい
print(x != y) # 等しくない
print(x > y) # より大きい
print(x < y) # より小さい print(x >= y) # より大きいか等しい
print(x <= y) # より小さいか等しい
# 比較演算子 x = 10 y = 12 print(x == y) # 等しい print(x != y) # 等しくない print(x > y) # より大きい print(x < y) # より小さい print(x >= y) # より大きいか等しい print(x <= y) # より小さいか等しい
# 比較演算子
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)
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# 論理演算子
a = True
b = False
print(a and b) # 両方ともTrueならTrue
print(a or b) # どちらかがTrueならTrue
print(not a) # TrueならFalse, FalseならTrue
# 論理演算子 a = True b = False print(a and b) # 両方ともTrueならTrue print(a or b) # どちらかがTrueならTrue print(not a) # TrueならFalse, FalseならTrue
# 論理演算子
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)
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# 同一性演算子
x = ['apple', 'banana']
y = ['apple', 'banana']
z = x
print(x is z) # 同じオブジェクトならTrue
print(x is y) # 異なるオブジェクトだとFalse
print(x == y) # 値が等しい
# 同一性演算子 x = ['apple', 'banana'] y = ['apple', 'banana'] z = x print(x is z) # 同じオブジェクトならTrue print(x is y) # 異なるオブジェクトだとFalse print(x == y) # 値が等しい
# 同一性演算子
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)
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# メンバシップ演算子
x = ['apple', 'banana']
print('banana' in x) # リストに含まれている場合True
print('cherry' not in x) # リストに含まれていない場合True
# メンバシップ演算子 x = ['apple', 'banana'] print('banana' in x) # リストに含まれている場合True print('cherry' not in x) # リストに含まれていない場合True
# メンバシップ演算子
x = ['apple', 'banana']
print('banana' in x)    # リストに含まれている場合True
print('cherry' not in x) # リストに含まれていない場合True

7. ビット演算子 (Bitwise Operators):

  • ビットAND (&), ビットOR (|), ビットXOR (^), ビットNOT (~)
  • ビット左シフト (<<), ビット右シフト (>>)
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# ビット演算子
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) # 右シフト
# ビット演算子 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) # 右シフト
# ビット演算子
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):

  • 演算子が複数ある式では、演算子の優先順位に従って計算が行われます。
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# 演算子の優先順位
a = 20
b = 10
c = 15
d = 5
e = (a + b) * c / d # (30 * 15) / 5
print(e) # 90.0
# 演算子の優先順位 a = 20 b = 10 c = 15 d = 5 e = (a + b) * c / d # (30 * 15) / 5 print(e) # 90.0
# 演算子の優先順位
a = 20
b = 10
c = 15
d = 5
e = (a + b) * c / d       # (30 * 15) / 5
print(e)  # 90.0

このように、Pythonには多くの種類の演算子があり、それぞれに重要な役割があります。これらを適切に使いこなすことで、より効率的で読みやすいコードを書くことができます。

購読
通知


0 Comments
Inline Feedbacks
View all comments