演算子は、値や変数に対して計算や比較などの操作を行うための記号です。Pythonには算術演算子、比較演算子、論理演算子など、様々な種類の演算子が用意されています。
この記事では、Pythonで頻繁に使用する演算子をカテゴリ別に詳しく解説します。
算術演算子
算術演算子は、数値に対する計算を行います。
Python
# 基本的な四則演算
print(10 + 3) # 加算: 13
print(10 - 3) # 減算: 7
print(10 * 3) # 乗算: 30
print(10 / 3) # 除算: 3.3333...
# その他の演算
print(10 // 3) # 整数除算(切り捨て): 3
print(10 % 3) # 剰余(余り): 1
print(2 ** 10) # べき乗: 1024
実行結果
13
7
30
3.3333333333333335
3
1
1024
除算 / は常にfloat型の結果を返します。整数の結果が欲しい場合は //(整数除算)を使いましょう。
代入演算子
代入演算子は、変数に値を代入する際に使います。複合代入演算子を使うと、計算と代入を1つの式で行えます。
Python
x = 10
x += 5 # x = x + 5
print(x) # 15
x -= 3 # x = x - 3
print(x) # 12
x *= 2 # x = x * 2
print(x) # 24
x //= 5 # x = x // 5
print(x) # 4
x **= 3 # x = x ** 3
print(x) # 64
実行結果
15
12
24
4
64
比較演算子
比較演算子は、2つの値を比較してTrueまたはFalseを返します。if文の条件式で頻繁に使用します。
Python
a, b = 10, 20
print(a == b) # 等しい: False
print(a != b) # 等しくない: True
print(a < b) # より小さい: True
print(a > b) # より大きい: False
print(a <= b) # 以下: True
print(a >= b) # 以上: False
# 文字列の比較
print("apple" == "apple") # True
print("apple" < "banana") # True(辞書順)
実行結果
False
True
True
False
True
False
True
True
論理演算子
論理演算子は、複数の条件を組み合わせるために使います。
Python
age = 25
income = 300000
# and(両方True)
print(age >= 20 and income >= 200000) # True
# or(どちらかTrue)
print(age >= 30 or income >= 200000) # True
# not(反転)
is_holiday = False
print(not is_holiday) # True
# 組み合わせ
score = 75
print(score >= 60 and score < 80) # True
実行結果
True
True
True
True
演算子の優先順位
演算子には優先順位があり、** > *,/,//,% > +,- > 比較演算子 > not > and > or の順で評価されます。優先順位が不明な場合は、括弧 () を使って明示的に順序を指定しましょう。
実践的な使い方
Python
# BMI計算プログラム
weight = 70 # kg
height = 1.75 # m
bmi = weight / (height ** 2)
print(f"BMI: {bmi:.1f}")
if bmi < 18.5:
print("低体重")
elif bmi < 25.0:
print("普通体重")
elif bmi < 30.0:
print("肥満(1度)")
else:
print("肥満(2度以上)")
実行結果
BMI: 22.9
普通体重
浮動小数点の比較に注意
0.1 + 0.2 == 0.3 は False になります。浮動小数点数には丸め誤差があるため、厳密な比較には math.isclose() を使うか、整数に変換して比較しましょう。
まとめ
- 算術演算子:
+,-,*,/,//,%,** - 比較演算子:
==,!=,<,>,<=,>= - 論理演算子:
and,or,not - 複合代入演算子(
+=,-=等)で計算と代入を同時に行える - 浮動小数点数の比較には丸め誤差に注意する