この内容は古いバージョンです。最新バージョンを表示するには、戻るボタンを押してください。
バージョン:3
ページ更新者:atom
更新日時:2026-05-13 07:30:23

タイトル: 演算子

Pythonの演算子の記事です。値の計算・比較・代入・論理判定など、Pythonで使える演算子を種類別に整理しています。

子ページから演算子の種類を選択してください。

本ページの子ページ一覧

項目
算術演算子+, -, *, /, //, %, **
文字列演算子+(連結), *(繰り返し)
代入演算子=, +=, -=, *=, /=
比較演算子==, !=, <, >=, in, is
論理演算子and, or, not
ビット演算子&, |, ^, ~, <<, >>

使用例

# 算術
print(7 / 2)      # 3.5(普通の割り算)
print(7 // 2)    # 3(切り捨て除算)
print(7 % 2)      # 1(剰余)
print(2 ** 10)   # 1024(累乗)

# 文字列
print("ab" + "cd")  # "abcd"
print("-" * 5)     # "-----"

# 比較・論理
print(3 == 3 and 4 > 2)  # True
print("py" in "python")    # True
print(None is None)       # True

# 代入
x = 10
x += 5  # x = 15
x **= 2 # x = 225

Python特有の演算子

演算子意味
//切り捨て除算(整数部のみ)
**累乗
in / not inメンバ判定。リスト・文字列・dict等
is / is not同一オブジェクト判定(参照比較)
:= (walrus)式の中で代入(Python 3.8+)
@行列積(NumPy/Python 3.5+)
and / or / not論理演算(C系の && ではない)

== と is の違い

a = [1, 2, 3]
b = [1, 2, 3]
c = a

print(a == b)  # True(内容が等しい)
print(a is b)  # False(別オブジェクト)
print(a is c)  # True(同じオブジェクト)

# None判定は必ず is で
if x is None:
    pass

演算子の優先順位(抜粋)

優先度演算子
**
+x -x ~x(単項)
* / // %
+ -
比較演算子
not
and
or

意図を明確にするためにも、複雑な式はカッコで囲むのが推奨です。

注意点

  • 論理演算は && ではなく and|| ではなく or! ではなく not
  • 1/20.5(Python 3 では常に float除算)。整数除算は 1//2
  • 連鎖比較が可能: 0 < x < 100 < x and x < 10 の意味
  • and / or は短絡評価。型は最後に評価された値(必ずしも bool ではない)

関連

  • 親カテゴリ: 文法 (Python)