Python 演算子

Pythonの演算子

演算子は変数や値に対して操作を行うために使用されます。

以下の例では、+演算子を使用して2つの値を加算しています:

print(10 + 5)

Pythonでは演算子を次のグループに分けています:

  • 算術演算子
  • 代入演算子
  • 比較演算子
  • 論理演算子
  • 同一性演算子
  • メンバーシップ演算子
  • ビット演算子

Pythonの算術演算子

算術演算子は数値値と共に使用され、一般的な数学的操作を実行します:

演算子 名前
+ 加算 x + y
減算 x – y
* 乗算 x * y
/ 除算 x / y
% 剰余 x % y
** 指数 x ** y
// 切り捨て除算 x // y

Pythonの代入演算子

代入演算子は変数に値を代入するために使用されます:

演算子 同じ
= x = 5 x = 5
+= x += 3 x = x + 3
-= x -= 3 x = x – 3
*= x *= 3 x = x * 3
/= x /= 3 x = x / 3
%= x %= 3 x = x % 3
//= x //= 3 x = x // 3
**= x **= 3 x = x ** 3
&= x &= 3 x = x & 3
|= x |= 3 x = x | 3
^= x ^= 3 x = x ^ 3
>>= x >>= 3 x = x >> 3
<<= x <<= 3 x = x << 3
:= print(x := 3) x = 3
print(x)

Pythonの比較演算子

比較演算子は2つの値を比較するために使用されます:

演算子 名前
== 等しい x == y
!= 等しくない x != y
> より大きい x > y
< より小さい x < y
>= 以上 x >= y
<= 以下 x <= y

Pythonの論理演算子

論理演算子は条件文を組み合わせるために使用されます:

演算子 説明
and 両方の文がTrueの場合にTrueを返す x < 5 and x < 10
or 少なくとも1つの文がTrueの場合にTrueを返す x < 5 or x < 4
not 結果を反転し、Trueの場合はFalseを返す not(x < 5 and x < 10)

Pythonの同一性演算子

同一性演算子はオブジェクトを比較し、等しくないかどうかではなく、実際に同じオブジェクトであるかどうか(同じメモリ位置にあるかどうか)を確認します:

演算子 説明
is 両方の変数が同じオブジェクトである場合にTrueを返す x is y
is not 両方の変数が同じオブジェクトでない場合にTrueを返す x is not y

Pythonのメンバーシップ演算子

メンバーシップ演算子はオブジェクト内にシーケンスが存在するかどうかをテストするために使用されます:

演算子 説明
in 指定された値を含むシーケンスがオブジェクト内に存在する場合にTrueを返す x in y
not in 指定された値を含むシーケンスがオブジェクト内に存在しない場合にTrueを返す x not in y

Pythonのビット演算子

ビット演算子は(バイナリ)数値を比較するために使用されます:

演算子 名前 説明
& AND 両方のビットが1の場合、各ビットを1に設定します x & y
| OR 1つのビットが1の場合、各ビットを1に設定します x | y
^ XOR 1つのビットが1の場合、各ビットを1に設定します x ^ y
~ NOT すべてのビットを反転します ~x
<< 左シフト 右から0をプッシュして左にシフトし、左端のビットを落とします x << 2
>> 符号付き右シフト 左端のビットから左にコピーし、右端のビットを落とします x >> 2

演算子の優先順位

演算子の優先順位は、操作が実行される順序を示します。

例えば、最も優先順位の高いのはかっこで囲まれた部分で、かっこで囲まれた式は最初に評価される必要があります:

print((6 + 3) - (6 + 3))

例えば、乗算*の優先順位は加算+よりも高く、そのため乗算は加算よりも先に評価されます:

print(100 + 5 * 3)

優先順位の順序は以下の表に示されており、上から順に最も優先順位が高いものです:

演算子 説明
() かっこ
** 指数
+x, -x, ~x 単項プラス、単項マイナス、およびビットNOT
* / // % 乗算、除算、切り捨て除算、および剰余
+ – 加算と減算
<< >> ビット左シフトおよび右シフト
& ビットAND
^ ビットXOR
| ビットOR
== != > >= < <= is is not in not in 比較、同一性、およびメンバーシップ演算子
not 論理NOT
and 論理AND
or 論理OR

もし2つの演算子が同じ優先順位を持っている場合、式は左から右に評価されます:

print(5 + 4 - 7 + 3)