Python演算子まとめ

Pythonでよく使う算術演算子比較演算子論理演算子をまとめたページです。 プログラムで計算したり、条件分岐を書いたりするときに確認してください。

関連ページ: Pythonでよく使う記号のキーボード配置条件分岐

算術演算子

数値の計算には、次の算術演算子を使います。 特に、///%** は間違えやすいので注意してください。

計算 演算子 説明
足し算(加算) + 3 + 58 2つの値を足します。
引き算(減算) - 5 - 32 左の値から右の値を引きます。
かけ算(乗算) * 2 * 36 2つの値をかけます。
実数の割り算
(実数除算)
/ 10 / 33.3333...
10 / 52.0
割り算の結果を小数として返します。 割り切れる場合でも、結果は実数型になります。
整数の割り算
(整数除算)
// 10 // 33
10 // 52
割り算の商の整数部分を返します。 小数部分は切り捨てられます。
割り算の余り % 10 % 31 割り算の余りを求めます。 倍数判定でよく使います。
累乗 ** 2 ** 38 左の値を右の値の回数だけかけます。 2 ** 3 は \(2^3\) の意味です。

よくある間違い

代入演算子と比較演算子

=== の違い

Pythonでは、=== は意味がまったく違います。 代入には =等しいかどうかの比較には == を使います。

記号 意味
= 代入 x = 3 は、変数 x3 を代入します。
== 等しいかどうかの比較 x == 3 は、x3 と等しいかを判定します。

x = 3

if x == 3:
    print("xは3です")
      
xは3です

if x = 3: のように書くと、条件式の中で代入しようとしているため、エラーになります。

比較演算子

比較演算子は、2つの値を比べるための演算子です。 比較した結果は、True または False になります。

比較式 意味
a == b ab が等しい
a != b ab が等しくない
a > b ab より大きい
a >= b ab 以上
a < b ab より小さい
a <= b ab 以下

使用例


score = 85

if score >= 80:
    print("合格")
else:
    print("不合格")
      
合格

よくある間違い

Pythonでは、以上は >=、以下は <= と書きます。

論理演算子

複数の条件を組み合わせるときは、論理演算子を使います。 Pythonでは、andornot を使います。

論理式 呼び方 意味
A or B 論理和 Aが真、またはBが真であれば真
A and B 論理積 Aが真、かつBが真であれば真
not A 否定 Aが偽であれば真

and の例


age = 15

if age >= 13 and age < 20:
    print("13歳以上20歳未満です")
      
13歳以上20歳未満です

or の例


weather = "雨"

if weather == "雨" or weather == "雪":
    print("傘を持っていく")
      
傘を持っていく

not の例


is_error = False

if not is_error:
    print("エラーはありません")
      
エラーはありません

よくある間違い

演算子の優先順位

複数の演算子を組み合わせると、Pythonは決められた優先順位にしたがって計算します。 迷ったときは、カッコ ( ) を使って、先に計算したい部分を明確にしてください。

優先順位 演算子 説明
高い ** 累乗 2 ** 38
* / // % 乗算、除算、整数除算、余り 2 * 36
10 // 33
10 % 31
+ - 加算、減算 3 + 58
5 - 32
== != > >=
< <=
比較演算子 score >= 80
not 論理演算子の否定 not A
and 論理積。「AもBも真」の判定 A and B
低い or 論理和。「AまたはBが真」の判定 A or B

算術演算子の優先順位

算術演算では、累乗 ** が先に計算され、次に *///%、その後に +- が計算されます。

andor の優先順位

論理演算子では、notandor の順に優先順位が高くなります。 つまり、andor より先に判定されます。


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 のようにカッコを使います。