Existe-t-il un moyen de générer un ID de type hachage pour les objets dans Python qui est uniquement basé sur les valeurs d'attribut des objets? Par exemple,Générer un ID unique pour l'objet python en fonction de ses attributs
class test:
def __init__(self, name):
self.name = name
obj1 = test('a')
obj2 = test('a')
hash1 = magicHash(obj1)
hash2 = magicHash(obj2)
Ce que je cherche est quelque chose où hash1 == hash2. Est-ce que quelque chose comme ça existe en python? Je sais que je peux tester si obj1.name == obj2.name, mais je cherche quelque chose de général que je peux utiliser sur n'importe quel objet.
Cependant, ce n'est pas garanti d'être unique. –
@Bastien, vous avez raison. Mais cela dépend vraiment de l'application. Dans de nombreux cas, le hash pourrait suffire. –
Il n'est pas recommandé de renvoyer quoi que ce soit de __hash __ (self) en plus d'un int (http://docs.python.org/reference/datamodel.html#object.__hash__), car cela rendra l'objet apparemment non utilisable (comme dans utilisé dans les dicts) – SingleNegationElimination