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)