演算子とは

演算子とは、主に2つ以上の値を計算や比較などを行うための記号です。

プログラムの中では主に変数への加算などの算術演算子やif文の条件式の比較を行う比較演算子がよく使われます。

なお、演算子には優先順位があります。優先順位については「Pythonの演算子の優先順位」をご参照ください。

算術演算子

算術演算子は、変数や数値に対して加算や減算などを行います。

演算子 利用例 内容
+ x + y x に y を足す
x – y x から y を引く
* x * y x に y を掛ける
/ x / y x を y で割る
// x // y x を y で割り、余りを切り捨てる
% x % y x を y で割った余り
** x ** y xのy乗

代入演算子

代入演算子は、左辺の変数に対して、右辺を代入するために使用します。

演算子 利用例 内容
= x = y x に y を代入する。
+= x += y x に y を加算した値をxに代入する。「x = x + y」と同じ意味。
-= x -= y x から y を減算した値をxに代入する。「x = x – y」と同じ意味。
*= x *= y x に y を掛けた値をxに代入する。「x = x * y」と同じ意味。
/= x /= y x を y で割った値をxに代入する。「x = x / y」と同じ意味。
%= x %= y x を y で割った余りをxに代入する。「x = x % y」と同じ意味。
**= x **= y x を y 乗した値をxに代入する。「x = x ** y」と同じ意味。
//= x //= y x を y で割った商をxに代入する。「x = x // y」と同じ意味。
&= x &= y x と y の論理積(x と y の各ビットのうち、x と y の両方でビットが1の場合に、そのビットが1になる)をxに代入する。「x = x & y」と同じ意味。
|= x |= y x と y の論理和(x と y の各ビットのうち、x と y のどちらかでビットが1の場合に、そのビットが1になる)をxに代入する。「x = x | y」と同じ意味。
^= x ^= y x と y の排他的論理和(x と y の各ビットのうち、x と y が1と0の組み合わせになっている場合に、そのビットが1になる)をxに代入する。「x = x ^ y」と同じ意味。
<<= x << y x を y ビット左にシフトした値を x に代入する。
>>= x >> y x を y ビット右にシフトした値を x に代入する。

比較演算子

比較演算子は、左右の値を比較した結果を返します。通常は条件文に利用されます。

比較した結果の通りであれば「真(True)」として扱われ、そうでなければ「偽(False)」として扱われます。

演算子 利用例 内容
== x == y x と y が等しい場合に「真(True)」になる。
!= x != y x と y が異なる場合に「真(True)」になる。
<> x <> y x と y が異なる場合に「真(True)」になる。
> x > y x が y よりも大きい場合に「真(True)」になる。
< x < y x が y よりも小さい場合に「真(True)」になる。
>= x >= y x が y 以上の場合に「真(True)」になる。
<= x <= y x が y 以下の場合に「真(True)」になる。
is x is y x と y のオブジェクトが同じ場合に「真(True)」になる。
is not x is not y x と y のオブジェクトが異なる場合に「真(True)」になる。
in x in y x が y に含まれている場合に「真(True)」になる。
not in x not in y x が y に含まれていない場合に「真(True)」になる。

ブール演算子(論理演算子)

ブール演算子は、通常は2つの条件が同時に(and演算子)、または、どちらか(or演算子)が「真(True)」になるかを判定することに使います。必要があればnot演算子で真と偽を反転させます。

演算子 利用例 内容
and x and y 条件x と条件y がどちらも「真(True)」になる場合に、「真(True)」になる。
or x or y 条件x か条件y のどちらかが「真(True)」になる場合に、「真(True)」になる。
not not x 条件x の真偽を反転させる。「真(True)」であれば「偽(False)」、「偽(False)」であれば「真(True)」になる。

ビット演算子

ビット演算子は、値の各ビット値の操作を行います。

演算子 利用例 内容
~ ~x 各ビットを反転させる。
& x & y x と y の論理積(x と y の各ビットのうち、x と y の両方でビットが1の場合に、そのビットが1になる)を求める。
| x | y x と y の論理和(x と y の各ビットのうち、x と y のどちらかでビットが1の場合に、そのビットが1になる)を求める。
^ x ^ y x と y の排他的論理和(x と y の各ビットのうち、x と y が1と0の組み合わせになっている場合に、そのビットが1になる)を求める。
<< x << y x の yビット左にシフトする。
>> x >> y x の yビット右にシフトする。

文字列操作演算子

文字列操作演算子は、見た目は算術演算子と同じですが、利用する対象が文字列になります。

演算子 利用例 内容
+ x + y 文字列の x と y を結合する。”123″ + “abc”は”123abc”になる。
* x * y 文字列 x を y 回数結合する。”123_” * 3は”123_123_123_”になる。

三項演算子

三項演算子は1行で書くif文のようなもので、conditions(条件式)が「真(True)」の場合は左端の式(x)が返され、「偽(False)」の場合はelseの右の式(y)が返されます。

可読性が落ちるため、一般的には使用しないことが多いです。

利用例