Python コード内のオブジェクトがハッシュ可能であるとは、具体的にどういう意味ですか?
ベストアンサー1
からPython用語集:
オブジェクトは、その存続期間中にハッシュ値が変更されない (
__hash__()
メソッドが必要) 場合、および他のオブジェクトと比較できる (__eq__()
or__cmp__()
メソッドが必要) 場合、ハッシュ可能です。比較すると等しいハッシュ可能オブジェクトは、同じハッシュ値を持つ必要があります。ハッシュ可能性により、これらのデータ構造はハッシュ値を内部で使用するため、オブジェクトを辞書キーおよびセット メンバーとして使用できるようになります。
Python の不変の組み込みオブジェクトはすべてハッシュ可能ですが、可変のコンテナ (リストや辞書など) はハッシュできません。ユーザー定義クラスのインスタンスであるオブジェクトは、デフォルトでハッシュ可能です。それらはすべて不等であり、それらのハッシュ値は です
id()
。