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
はポインターが指しているオブジェクトを比較する。本質的にその二つが同じかを知らせてくれる。