Python 演算子
最終更新:2026-09-22
Python 演算子
Python 演算子をカテゴリ別にまとめたリファレンス。算術・代入・比較・所属と同一性・論理・ビット演算を扱います。各項目には構文の概要と実行可能な例を添えています。
算術演算子
| 演算子 | 意味 | 例 |
|---|
+ | 加算 / 連結 — + は数値では和を求め、シーケンスでは連結を行う。 | a + b |
- | 減算 / 差集合 — - は数値では差を求め、set では差集合を求める。 | a - b |
* | 乗算 / 繰り返し — * は数値では積を求め、シーケンスでは繰り返しを行う。 | a * b |
/ | 真の除算 — / は常に浮動小数点数の結果を返す。整数除算には // を使う。 | a / b |
// | 整数除算(切り捨て) — // は切り捨て除算の結果を返す。 | a // b |
% | 剰余 — % は除算の余りを返す。 | a % b |
** | べき乗 — ** は a の b 乗を計算する。 | a ** b |
@ | 行列乗算 — @ は行列乗算演算子である(PEP 465)。NumPy などのライブラリで使用される。 | a @ b |
比較演算子
| 演算子 | 意味 | 例 |
|---|
== | 等しい — == は 2 つのオブジェクトが等しいかどうかを判定する(__eq__ によって決まる)。 | a == b |
!= | 等しくない — != は == の反対である。 | a != b |
< | より小さい — < は a < b を判定する(比較可能なオブジェクトでは __lt__ によって決まる)。 | a < b |
> | より大きい — > は a > b を判定する(__gt__ によって決まる)。 | a > b |
<= | 以下または等しい — <= は a <= b を判定する(__le__ によって決まる)。 | a <= b |
>= | 以上または等しい — >= は a >= b を判定する(__ge__ によって決まる)。 | a >= b |
代入演算子
| 演算子 | 意味 | 例 |
|---|
= | 単純代入 — = は右辺の式の値を左辺の名前へ束縛する、最も基本的な代入演算子です。 | name = expression |
+= | 加算代入 — += は右辺の値を左辺の変数に加えます。x = x + y と等価で、list では要素を破壊的に追加します。 | x += y |
-= | 減算代入 — -= は左辺の変数から右辺の値を引きます。x = x - y と等価です。 | x -= y |
*= | 乗算代入 — *= は左辺の変数と右辺の値を掛けます。x = x * y と等価で、str/list では反復します。 | x *= y |
/= | 除算代入 — /= は左辺の変数を右辺の値で割ります。結果は浮動小数点数で、x = x / y と等価です。 | x /= y |
//= | 切り捨て除算代入 — //= は左辺の変数を右辺の値で切り捨て除算します。x = x // y と等価です。 | x //= y |
%= | 剰余代入 — %= は左辺の変数を右辺の値で割った余りを代入します。x = x % y と等価です。 | x %= y |
**= | 冪乗代入 — **= は左辺の変数を右辺の値の冪乗にします。x = x ** y と等価です。 | x **= y |
@= | 行列積代入 — @= は左辺と右辺の行列積を破壊的に行います。x = x @ y と等価です。 | x @= y |
&= | ビットAND代入 — &= は左辺の変数と右辺の値のビットANDを計算します。x = x & y と等価です。 | x &= y |
|= | ビットOR代入 — |= は左辺の変数と右辺の値のビットORを計算します。x = x | y と等価です。 | x |= y |
^= | ビットXOR代入 — ^= は左辺の変数と右辺の値のビットXORを計算します。x = x ^ y と等価です。 | x ^= y |
<<= | 左シフト代入 — <<= は左辺の変数のビットを右辺の値だけ左シフトします。x = x << y と等価です。 | x <<= y |
>>= | 右シフト代入 — >>= は左辺の変数のビットを右辺の値だけ右シフトします。x = x >> y と等価です。 | x >>= y |
:= | セイウチ演算子(代入式) — := は PEP 572 で導入されたセイウチ演算子で、式の中で代入を行い値を返します。 | name := value |
論理演算子
| 演算子 | 意味 | 例 |
|---|
and | ブール AND(短絡) — and はブール AND である。最初の偽値または最後の真値を返す。True/False は返さない。 | a and b |
or | ブール OR(短絡) — or はブール OR である。最初の真値または最後の偽値を返す。 | a or b |
not | ブール NOT — not はブール値(True / False)を返す。 | not a |
ビット演算子
| 演算子 | 意味 | 例 |
|---|
& | ビット単位 AND / 集合の積 — & はビット単位 AND である。set に対しては積である。 | a & b |
| | ビット単位 OR / 集合の和 — | はビット単位 OR である。set に対しては和である。 | a | b |
^ | ビット単位 XOR / 集合の対称差 — ^ はビット単位 XOR である。set に対しては対称差である。 | a ^ b |
~ | ビット反転 — ~ は x のビットを反転します = -(x+1)。 | ~a |
<< | 左シフト — << は a のビットを n ビット左にシフトします。a * (2**n) と等価です。 | a << n |
>> | 右シフト — >> は a のビットを n ビット右にシフトします。floor(a / (2**n)) と等価です。 | a >> n |
メンバー演算子
| 演算子 | 意味 | 例 |
|---|
in | メンバーシップ検査 — in は値がイテラブルに含まれるかを検査する。for ループでも使われる。 | x in container |
not in | 非メンバーシップ検査 — not in は in の否定である。 | x not in container |
同一性演算子
| 演算子 | 意味 | 例 |
|---|
is | 同一性判定 — is は 2 つの参照が同じオブジェクトを指しているか(id が同じか)を判定する。 | a is b |
is not | 非同一性判定 — is not は is の否定である。 | a is not b |
演算子の優先順位
| 演算子 | 説明 |
(...), [...], {k: v}, {...} | 括弧・リスト・辞書・集合 |
x[i], x[i:j], x(args), x.attr | 添字・スライス・呼び出し・属性 |
await x | await 式 |
** | 冪乗 |
+x, -x, ~x | 単項プラス・マイナス・ビットNOT |
*, @, /, //, % | 乗算・行列積・除算・切り捨て除算・剰余 |
+, - | 加算・減算 |
<<, >> | 左シフト・右シフト |
& | ビットAND |
^ | ビットXOR |
| | ビットOR |
in, not in, is, is not, <, <=, >, >=, !=, == | 比較・所属・同一性 |
not x | 論理NOT |
and | 論理AND |
or | 論理OR |
if ... else | 条件式 |
lambda | lambda 式 |
:= | 代入式(セイウチ) |
Web-Tutorial 技術チーム
複数の開発者によって共同維持されているプログラミングチュートリアルプラットフォーム。各チュートリアルは専門分野の開発者が執筆・レビューしています。正確で信頼性の高いコンテンツを目指しています — 問題を見つけた場合はお知らせください。
私たちについて