is演算子(Python)

Pythonにおいて、is演算子とは、二つの変数(Python)が同じオブジェクト(Python)を参照*しているかどうかをチェックする演算子のことです。

a = [1, 2, 3]
b = a
c = [1, 2, 3]
print(a is b)  # True, 同じオブジェクトを参照
print(a is c)  # False, 異なるオブジェクトを参照

is演算子による演算の結果は、論理型(Python)の値(TrueもしくはFalse)が返されます。

なお、数値や文字列などのイミュータブルなオブジェクト(Python)は、内容が同じであれば、同じオブジェクト(Python)を使い回す可能性があり、ミュータブルなオブジェクト(Python)に対するis演算子の結果と異なる場合があります。

例えば、以下のようにacに代入されたそれぞれの1は同じオブジェクト(Python)です。

a = 1
b = a
c = 1
print(a is b)  # True, 同じオブジェクトを参照
print(a is c)  # True, 同じオブジェクトを参照