pickle.dumps
任意の Python オブジェクトのハッシュを作成するために使用してきましたが、dict/set の順序が正規化されていないため、結果が信頼できないことがわかりました。
SO およびその他の場所には関連する質問がいくつか ありますが、同等性 ( /結果)に同じ基準を使用するハッシュアルゴリズムを見つけることができないようです。私は自分でロールするための基本的な要件を理解していますが、明らかに、テスト済みのものを使用したいと思っています。 __getstate__
__dict__
そのようなライブラリは存在しますか?私が実際に求めているのは、出力をハッシュできるように( __getstate__
and を使用して) オブジェクトを決定論的にシリアル化するライブラリだと思います。__dict__
編集
hash
明確にするために、Python (または)によって返される値とは異なるものを探しています__hash__
。私が欲しいのは、本質的に、ハッシュ可能であるかどうかにかかわらず、任意のオブジェクトのチェックサムです。この値は、オブジェクトの状態によって異なります。(私は「状態」を使用して、返された dict を参照します。__getstate__
それが存在しない場合は、オブジェクトの__dict__
.)