1. ホーム
  2. パイソン

[解決済み】Pythonの "hashable "の意味は?

2022-04-02 13:15:16

質問

インターネットで検索してみましたが、hashableの意味がわかりませんでした。

オブジェクトは hashable または hashable objects とはどういう意味でしょうか?

どのように解決するのですか?

からの Python用語集 :

オブジェクトは、そのライフタイム中に決して変化しないハッシュ値を持つ場合、ハッシュ可能である(そのためには __hash__() メソッドが必要)、他のオブジェクトと比較することができる( __eq__() または __cmp__() メソッド)を使用します。等しい比較をするハッシャブルオブジェクトは、同じハッシュ値でなければならない。

ハッシュ化できることで、オブジェクトは辞書のキーやセットのメンバとして使用できるようになります。

Pythonの不変の組み込みオブジェクトはすべてハッシュ化可能ですが、リストや辞書のような可変のコンテナはハッシュ化不可能です。ユーザー定義クラスのインスタンスであるオブジェクトはデフォルトでハッシュ化可能です; これらはすべて不等間隔で比較され、そのハッシュ値は id() .