Respuestas:
Se eliminó la constante sys.maxint, ya que ya no hay un límite para el valor de los enteros. Sin embargo, sys.maxsize puede usarse como un entero más grande que cualquier lista práctica o índice de cadena. Se ajusta al tamaño entero "natural" de la implementación y suele ser el mismo que sys.maxint en versiones anteriores en la misma plataforma (suponiendo las mismas opciones de compilación).
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 otro int
valor, puede usar el valor flotante para Infinity, con el que puede obtener float("inf")
.
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:
>>> import struct
>>> platform_c_maxint = 2 ** (struct.Struct('i').size * 8 - 1) - 1
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.
Si está buscando un número que sea más grande que todos los demás:
Método 1:
float('inf')
Método 2:
import sys
max = sys.maxsize
Si está buscando un número que sea más pequeño que todos los demás:
Método 1:
float('-inf')
Método 2:
import sys
min = -sys.maxsize - 1
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.
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.
Una alternativa es
import math
... math.inf ...