247 votes

Pourquoi le hachage de Python de l'infini a-t-il les chiffres de π?

Le hachage de l'infini en Python a des chiffres correspondant à pi :

 >>> inf = float('inf')
>>> hash(inf)
314159
>>> int(math.pi*1e5)
314159

Est-ce juste une coïncidence ou est-ce intentionnel?

49voto

Patrick Haugh Points 27866

_PyHASH_INF est défini comme une constante égale à 314159 .

Je ne trouve aucune discussion à ce sujet, ni aucun commentaire donnant une raison. Je pense qu'il a été choisi plus ou moins arbitrairement. J'imagine que tant qu'ils n'utilisent pas la même valeur significative pour les autres hachages, cela ne devrait pas avoir d'importance.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X