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)]'
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.