web-dev-qa-db-fra.com

En Python, qu'est-ce que `sys.maxsize`?

J'ai supposé que ce nombre (2^63 - 1) était la valeur maximale python pouvait gérer ou stocker en tant que variable. Mais ces commandes semblent bien fonctionner:

>>> sys.maxsize 9223372036854775807

>>> a sys.maxsize + 1
>>> a 
9223372036854775808

Y a-t-il donc une signification? Est-ce que Python peut gérer des nombres arbitrairement grands, si le calcul résout le permis?

Remarque, voici l'imprimé de ma version:

>>> sys.version
3.5.2 |Anaconda custom (64-bit)| (default, Jul  5 2016, 11:41:13) [MSC v.1900 64 bit (AMD64)]'
7

Python peut gérer des entiers arbitrairement grands dans le calcul. Tout entier trop grand pour tenir en 64 bits (ou quelle que soit la limite matérielle sous-jacente) est géré par le logiciel. Pour cette raison, Python 3 n'a pas de sys.maxint constant.

La valeur sys.maxsize, d'autre part, indique la taille du pointeur de la plate-forme, ce qui limite la taille des structures de données de Python telles que les chaînes et les listes.

17
BoarGules