python python-3.x

¿Qué es sys.maxint en Python 3?



python-3.x (5)

La constante sys.maxint se eliminó, ya que ya no hay un límite para el valor de los enteros. Sin embargo, sys.maxsize se puede usar como un número 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 es generalmente el mismo que sys.maxint en versiones anteriores en la misma plataforma (suponiendo que las mismas opciones de compilación).

http://docs.python.org/3.1/whatsnew/3.0.html#integers

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''


Como señalaron otros, el int Python 3 no tiene un tamaño máximo, pero si solo necesita algo que garantice que sea más alto que cualquier otro valor int , entonces puede usar el valor flotante para Infinity, que puede obtener con float("inf") .


Python 3 ints no tiene un máximo.

Si su propósito es determinar el tamaño máximo de una int en C cuando se compila de la misma manera que Python, puede usar el módulo struct para averiguarlo:

>>> import struct >>> platform_c_maxint = 2 ** (struct.Struct(''i'').size * 8 - 1) - 1

Si le interesan los detalles de la implementación interna de los objetos de Python 3 int, mire sys.int_info para conocer los bits por dígito y los detalles del tamaño de los dígitos. Ningún programa normal debería preocuparse por esto.


Python 3 no tiene límite en int. pero puede usar sys.maxsize como un número entero más grande que cualquier lista práctica o índice de cadena.


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 de tamaño positivo_t aka Py_ssize_t.