下面的代码可以运行,但我不想在每个子类中重复
__hash__
。有没有办法告诉数据类继承哈希函数(即不将其设置为None
)?from dataclasses import dataclass
@dataclass
class Hashable:
def __hash__(self):
hashed = hash((
getattr(self, key)
for key in self.__annotations__
))
return hashed
@dataclass
class Node(Hashable):
name: str = 'Undefined'
def __hash__(self):
return Hashable.__hash__(self)
frozen=True
,就可以得到相同的结果。 - user2357112