-1
私はクラスインスタンスのマジックメソッドを呼び出す方法を探しています。私の場合は、プロパティに基づいてクラスにハッシュを呼び出す必要があります。私はメタクラスで解決策を見つけましたが、メタクラスのメソッドからクラスプロパティにアクセスすることはできません。クラスの自己マジックメソッド
class X(type):
@classmethod
def __hash__(cls):
return hash(cls.x)
class Y(metaclass=X):
x = (1, 2, 3)
assert hash(Y) == hash((1, 2, 3))
私はちょうどこのスレッドを見つけました:Defining magic methods on classes
"メタクラスのメソッドからクラスプロパティにアクセスできません" - 何ですか?できますよ。 – user2357112
なぜクラスオブジェクトのハッシュをオーバーライドしたいのですか?あなたは今、 '__eq__'を実装する義務があります。 – wim