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