El hash de infinito en Python tiene dígitos que coinciden con pi :
>>> inf = float('inf') >>> hash(inf) 314159 >>> int(math.pi*1e5) 314159¿Es solo una coincidencia o es intencional?
_PyHASH_INF se define como una constante igual a 314159 .
No puedo encontrar ninguna discusión sobre esto, o comentarios dando una razón. Creo que fue elegido más o menos arbitrariamente. Me imagino que mientras no usen el mismo valor significativo para otros hashes, no debería importar.
Por supuesto,
sys.hash_info.inf devuelve 314159 . El valor no se genera, está integrado en el código fuente. De hecho,
hash(float('-inf')) devuelve -271828 , o aproximadamente -e, en python 2 ( ahora es -314159 ).
El hecho de que los dos números irracionales más famosos de todos los tiempos se utilicen como valores hash hace que sea muy poco probable que sea una coincidencia.