我正在寻找一种在类实例上调用魔术方法的方法。在我的例子中,我想基于属性调用类的哈希。我找到了使用元类的解决方案,但我无法从元类的方法访问类属性。
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
答案 0 :(得分:2)
关闭this.store.dispatch({ type: Form_Data , payload : this.form.value});
。
@classmethod
您希望class X(type):
def __hash__(self):
return hash(self.x)
class Y(metaclass=X):
x = (1, 2, 3)
assert hash(Y) == hash((1, 2, 3))
收到__hash__
,这是Y
的一个实例。您不希望它收到X
。