Curiosidad sobre __hash__()

Jesus Cea jcea en jcea.es
Vie Feb 6 12:39:57 CET 2009


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Francesc Alted wrote:
> Uh, creo que no:
> 
> In [6]: a = (2,)
> 
> In [7]: id(a)
> Out[7]: 136302508
> 
> In [8]: hash(a)
> Out[8]: -1658481943
> 
> o sea, que el hash no devuelve la posición de memoria y se trata de un 
> verdadero hash.

Esa no es la implementación por defecto. Muchos tipos básicos de python
sobrecargan "__hash__()".

Creemos un objeto nuevo sin definir su "__hash__()". Se usará la
implementación "genérica por defecto":

"""
>>> class a(object) :
...   pass
...
>>> b=a()
>>> c=a()
>>> id(a)
135759244
>>> hash(a)
135759244
>>> id(b)
136019692
>>> id(c)
136019596
>>> hash(b)
136019692
>>> hash(c)
136019596
"""

Casi me pilláis... :-)

- --
Jesus Cea Avion                         _/_/      _/_/_/        _/_/_/
jcea en jcea.es - http://www.jcea.es/     _/_/    _/_/  _/_/    _/_/  _/_/
jabber / xmpp:jcea en jabber.org         _/_/    _/_/          _/_/_/_/_/
.                              _/_/  _/_/    _/_/          _/_/  _/_/
"Things are not so easy"      _/_/  _/_/    _/_/  _/_/    _/_/  _/_/
"My name is Dump, Core Dump"   _/_/_/        _/_/_/      _/_/  _/_/
"El amor es poner tu felicidad en la felicidad de otro" - Leibniz
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.8 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iQCVAwUBSYwhhplgi5GaxT1NAQKR9gQApETeWNNeJ9kusqA71mMO7LtXoByX7Qve
onUHacwfkttEgsF4xHkBTwCGWJjbFXwM0DUdx0AiMe4PUsc+PjGUMpkKoh8WTvmd
T2sdetuuhXXdEsuuvfDOM9eqVj22NYrkUo+KIvY2eTho7CRc9SyWa85/xvbdyrYm
w2sRFeaQSh8=
=xj43
-----END PGP SIGNATURE-----
------------ próxima parte ------------
_______________________________________________
Lista de correo Python-es 
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes


Más información sobre la lista de distribución Python-es