web-dev-qa-db-fra.com

Python plages entières

En Python, existe-t-il un moyen d'obtenir le plus grand entier que l'on puisse utiliser? Existe-t-il une constante prédéfinie comme INT_MAX?

72
nos

Python a des entiers de précision arbitraires donc il n'y a pas de vrai maximum fixe. Vous n'êtes limité que par la mémoire disponible.

Dans Python 2, il existe deux types, int et long. ints utilisent un type C, tandis que longs sont de précision arbitraire. Vous pouvez utiliser sys.maxint pour trouver le maximum int. Mais ints sont automatiquement promus en long, vous n'avez donc généralement pas à vous en préoccuper:

sys.maxint + 1

fonctionne très bien et renvoie un long.

sys.maxint n'existe même pas dans Python 3, car int et long ont été unifiés en une seule précision arbitraire int type.

126
Matthew Flaschen