is
と==
の違い
Python
では、is
と==
はどちらも比較に使われますが、用途が異なります。is
はオブジェクトの同一性(メモリ上の場所が同じか)を確認し、==
は値が等しいかどうかを確認します。
is
の使用例
a = "hello"
b = "hello"
print(a is b) # TrueまたはFalse、同じオブジェクトを指すかどうかによる
==
の使用例
a = "hello"
b = "hello"
print(a == b) # 常にTrue、値が等しいため
特に文字列の比較では、==
を使うべきです。is
はメモリの同一性を確認するため、比較結果が期待と異なる場合があります。
まとめ
is
オブジェクトが同じメモリ位置にあるか確認する。==
オブジェクトの値が等しいか確認する。 文字列の比較では、必ず==
を使うべきです。