Lors de l'implémentation d'une classe avec plusieurs propriétés (comme dans le jouet exemple ci-dessous), ce qui est la meilleure façon de gérer le hachage?
Je suppose que l' __eq__
et __hash__
doit être constante, mais comment mettre en place une bonne fonction de hachage qui est capable de traiter toutes les propriétés?
class AClass:
def __init__(self):
self.a = None
self.b = None
def __eq__(self, other):
return other and self.a == other.a and self.b == other.b
def __ne__(self, other):
return not self.__eq__(other)
def __hash__(self):
return hash((self.a, self.b))
J'ai lu sur cette question que les tuples sont hashable, donc je me demandais si quelque chose comme l'exemple ci-dessus a été sensible. S'agit-il?