logo

Pythonにおけるisと==の違い 📂プログラミング

Pythonにおけるisと==の違い

コード

if type(150421) is int :
    print("!")
else :
    print("?")

x = [1,2]
y = [1,2]
x == y
x is y

説明

GitHubでPythonのコードを見ていると、時々isが見えることがある。コードが文のようにスムーズに読めることはさておき、==とは明らかに違う点があり、適切に使用するといい:

  • ==は単純に値を比較する。私たちに実際に見える姿を比較するので直感的だ。
  • isはポインターが指しているオブジェクトを比較する。本質的にその二つが同じかを知らせてくれる。