He estado tratando de descubrir cómo representar un número entero máximo, y he leído para usar "sys.maxint"
. Sin embargo, en Python 3 cuando lo llamo obtengo:
AttributeError: module 'object' has no attribute 'maxint'
python
python-3.x
Ci3
fuente
fuente
Respuestas:
http://docs.python.org/3.1/whatsnew/3.0.html#integers
fuente
Como señalaron otros, Python 3
int
no tiene un tamaño máximo, pero si solo necesita algo que sea más alto que cualquier otroint
valor, puede usar el valor flotante para Infinity, con el que puede obtenerfloat("inf")
.fuente
Python 3 ints no tienen un máximo.
Si su propósito es determinar el tamaño máximo de un int en C cuando se compila de la misma manera que Python, puede usar el módulo de estructura para averiguar:
Si tiene curiosidad sobre los detalles de implementación interna de los objetos int de Python 3, busque
sys.int_info
bits por dígito y detalles de tamaño de dígito. Ningún programa normal debería preocuparse por estos.fuente
Si está buscando un número que sea más grande que todos los demás:
Método 1:
Método 2:
Si está buscando un número que sea más pequeño que todos los demás:
Método 1:
Método 2:
El método 1 funciona tanto en Python2 como en Python3. El método 2 funciona en Python3. No he probado el Método 2 en Python2.
fuente
Python 3.0 ya no tiene sys.maxint ya que las entradas de Python 3 son de longitud arbitraria. En lugar de sys.maxint tiene sys.maxsize; El tamaño máximo de un tamaño positivo size_t también conocido como Py_ssize_t.
fuente
Una alternativa es
fuente