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)