J'ai essayé de savoir comment représenter un entier maximum, et j'ai lu pour l'utiliser "sys.maxint"
. Cependant, en Python 3, quand je l'appelle, j'obtiens:
AttributeError: module 'object' has no attribute 'maxint'
J'ai essayé de savoir comment représenter un entier maximum, et j'ai lu pour l'utiliser "sys.maxint"
. Cependant, en Python 3, quand je l'appelle, j'obtiens:
AttributeError: module 'object' has no attribute 'maxint'
Réponses:
http://docs.python.org/3.1/whatsnew/3.0.html#integers
la source
Comme d'autres l'ont souligné, Python 3
int
n'a pas de taille maximale, mais si vous avez juste besoin de quelque chose qui est garanti supérieur à toute autreint
valeur, vous pouvez utiliser la valeur float pour Infinity, avec laquelle vous pouvez obtenirfloat("inf")
.la source
Les entiers Python 3 n'ont pas de maximum.
Si votre objectif est de déterminer la taille maximale d'un int en C lorsqu'il est compilé de la même manière que Python, vous pouvez utiliser le module struct pour le savoir:
Si vous êtes curieux de connaître les détails d'implémentation interne des objets Python 3 int, recherchez les
sys.int_info
bits par chiffre et les détails de la taille des chiffres. Aucun programme normal ne devrait s'en soucier.la source
Si vous recherchez un nombre plus grand que tous les autres:
Méthode 1:
Méthode 2:
Si vous recherchez un nombre plus petit que tous les autres:
Méthode 1:
Méthode 2:
La méthode 1 fonctionne à la fois en Python2 et Python3. La méthode 2 fonctionne en Python3. Je n'ai pas essayé la méthode 2 en Python2.
la source
Python 3.0 n'a plus sys.maxint puisque les entiers de Python 3 sont de longueur arbitraire. Au lieu de sys.maxint, il a sys.maxsize; la taille maximale d'un size_t de taille positive aka Py_ssize_t.
la source
Une alternative est
la source