SageObject から継承する Sage クラスがあります。Pythonのドキュメントによると、
ユーザー定義のクラスには、デフォルトでメソッド
__cmp__()とメソッドがあります。__hash__()それらを使用すると、すべてのオブジェクトが等しくなく (それ自体を除く) 比較され、x.__hash__()が返されますid(x)。
__hash__ただし、独自のメソッドを実装していないという事実にもかかわらず、私のクラスはこれを行いません。代わりに、文字列表現のハッシュ値 (__str__メソッドによって返されるもの) を使用します。これは Sage クラスの設計の一部であり、通常の Python クラスとは異なるものですか? 許容できるハッシュ値を見つけるために Sage が調べる場所の階層はありますか?