Python で「hashable」とはどういう意味ですか? 質問する

Python で「hashable」とはどういう意味ですか? 質問する

Python コード内のオブジェクトがハッシュ可能であるとは、具体的にどういう意味ですか?

ベストアンサー1

からPython用語集:

オブジェクトは、その存続期間中にハッシュ値が変更されない (__hash__()メソッドが必要) 場合、および他のオブジェクトと比較できる ( __eq__()or__cmp__()メソッドが必要) 場合、ハッシュ可能です。比較すると等しいハッシュ可能オブジェクトは、同じハッシュ値を持つ必要があります。

ハッシュ可能性により、これらのデータ構造はハッシュ値を内部で使用するため、オブジェクトを辞書キーおよびセット メンバーとして使用できるようになります。

Python の不変の組み込みオブジェクトはすべてハッシュ可能ですが、可変のコンテナ (リストや辞書など) はハッシュできません。ユーザー定義クラスのインスタンスであるオブジェクトは、デフォルトでハッシュ可能です。それらはすべて不等であり、それらのハッシュ値は ですid()

おすすめ記事