¿Hay alguna manera de generar una identificación tipo hash para los objetos en python que se basa únicamente en los valores de atributo de los objetos? Por ejemplo,Genera una ID única para el objeto python en función de sus atributos
class test:
def __init__(self, name):
self.name = name
obj1 = test('a')
obj2 = test('a')
hash1 = magicHash(obj1)
hash2 = magicHash(obj2)
Lo que estoy buscando es algo donde hash1 == hash2. ¿Algo como esto existe en Python? Sé que puedo probar si obj1.name == obj2.name, pero estoy buscando algo general que pueda usar en cualquier objeto.
Sin embargo, no se garantiza que sea único. –
@Bastien, tienes razón. Pero eso realmente depende de la aplicación. Para muchos casos, hash podría ser suficiente. –
No se recomienda devolver nada de __hash __ (self) además de int (http://docs.python.org/reference/datamodel.html#object.__hash__) ya que esto hará que el objeto tenga una apariencia aparentemente incorrecta (como en utilizado en los dictados) – SingleNegationElimination