Python演算子まとめ
Pythonでよく使う算術演算子、比較演算子、論理演算子をまとめたページです。 プログラムで計算したり、条件分岐を書いたりするときに確認してください。
関連ページ: Pythonでよく使う記号のキーボード配置, 条件分岐
Pythonでよく使う算術演算子、比較演算子、論理演算子をまとめたページです。 プログラムで計算したり、条件分岐を書いたりするときに確認してください。
関連ページ: Pythonでよく使う記号のキーボード配置, 条件分岐
数値の計算には、次の算術演算子を使います。 特に、/ と //、%、** は間違えやすいので注意してください。
| 計算 | 演算子 | 例 | 説明 |
|---|---|---|---|
| 足し算(加算) | + | 3 + 5 → 8 | 2つの値を足します。 |
| 引き算(減算) | - | 5 - 3 → 2 | 左の値から右の値を引きます。 |
| かけ算(乗算) | * | 2 * 3 → 6 | 2つの値をかけます。 |
| 実数の割り算 (実数除算) |
/ |
10 / 3 → 3.3333... 10 / 5 → 2.0 |
割り算の結果を小数として返します。 割り切れる場合でも、結果は実数型になります。 |
| 整数の割り算 (整数除算) |
// |
10 // 3 → 3 10 // 5 → 2 |
割り算の商の整数部分を返します。 小数部分は切り捨てられます。 |
| 割り算の余り | % | 10 % 3 → 1 | 割り算の余りを求めます。 倍数判定でよく使います。 |
| 累乗 | ** | 2 ** 3 → 8 | 左の値を右の値の回数だけかけます。 2 ** 3 は \(2^3\) の意味です。 |
Pythonでは、= と == は意味がまったく違います。 代入には =、等しいかどうかの比較には == を使います。
| 記号 | 意味 | 例 |
|---|---|---|
| = | 代入 | x = 3 は、変数 x に 3 を代入します。 |
| == | 等しいかどうかの比較 | x == 3 は、x が 3 と等しいかを判定します。 |
x = 3
if x == 3:
print("xは3です")
xは3です
if x = 3: のように書くと、条件式の中で代入しようとしているため、エラーになります。
比較演算子は、2つの値を比べるための演算子です。 比較した結果は、True または False になります。
| 比較式 | 意味 |
|---|---|
| a == b | a と b が等しい |
| a != b | a と b が等しくない |
| a > b | a が b より大きい |
| a >= b | a が b 以上 |
| a < b | a が b より小さい |
| a <= b | a が b 以下 |
score = 85
if score >= 80:
print("合格")
else:
print("不合格")
合格
Pythonでは、以上は >=、以下は <= と書きます。
複数の条件を組み合わせるときは、論理演算子を使います。 Pythonでは、and、or、not を使います。
| 論理式 | 呼び方 | 意味 |
|---|---|---|
| A or B | 論理和 | Aが真、またはBが真であれば真 |
| A and B | 論理積 | Aが真、かつBが真であれば真 |
| not A | 否定 | Aが偽であれば真 |
age = 15
if age >= 13 and age < 20:
print("13歳以上20歳未満です")
13歳以上20歳未満です
weather = "雨"
if weather == "雨" or weather == "雪":
print("傘を持っていく")
傘を持っていく
is_error = False
if not is_error:
print("エラーはありません")
エラーはありません
複数の演算子を組み合わせると、Pythonは決められた優先順位にしたがって計算します。 迷ったときは、カッコ ( ) を使って、先に計算したい部分を明確にしてください。
| 優先順位 | 演算子 | 説明 | 例 |
|---|---|---|---|
| 高い | ** | 累乗 | 2 ** 3 → 8 |
| ↓ | * / // % | 乗算、除算、整数除算、余り |
2 * 3 → 6 10 // 3 → 3 10 % 3 → 1 |
| ↓ | + - | 加算、減算 |
3 + 5 → 8 5 - 3 → 2 |
| ↓ |
== != > >= < <= |
比較演算子 | score >= 80 |
| ↓ | not | 論理演算子の否定 | not A |
| ↓ | and | 論理積。「AもBも真」の判定 | A and B |
| 低い | or | 論理和。「AまたはBが真」の判定 | A or B |
算術演算では、累乗 ** が先に計算され、次に *,/,//,%、その後に +,- が計算されます。
論理演算子では、not、and、or の順に優先順位が高くなります。 つまり、and は or より先に判定されます。
x = True
y = False
z = False
print(x or y and z)
True
この式は、次のように解釈されます。
x or (y and z)
もし、or を先に判定したい場合は、次のようにカッコを使います。
x = True
y = False
z = False
print((x or y) and z)
False
x = (3 + 5) * 2
print(x)
16
3 + 5 * 2 では、かけ算が先に計算されるため結果は 13 になります。 先に足し算をしたい場合は、(3 + 5) * 2 のようにカッコを使います。