En programación, maxint/INT_MAX denota el valor más alto que puede ser representado por un número entero. En algunos casos, durante la programación, es posible que necesitemos asignar un valor mayor que cualquier otro valor entero. Normalmente uno asigna tales valores manualmente. Por ejemplo, considere una lista de enteros donde el valor mínimo se debe encontrar usando un bucle for .
Python
# initializing the list li = [1, -22, 43, 89, 2, 6, 3, 16] # assigning a larger value manually curr_min = 999999 # loop to find minimum value for i in range(0, len(li)): # update curr_min if a value lesser than it is found if li[i] < curr_min: curr_min = li[i] print("The minimum value is " + str(curr_min))
The minimum value is -22
En el enfoque anterior, asumimos que 999999 es el valor máximo posible en nuestra lista y lo comparamos con otros elementos para actualizar cuando se encuentra un valor menor que este.
módulo sys en Python
Este módulo se utiliza para interactuar con el intérprete y acceder a las variables mantenidas por el intérprete. Se puede utilizar para realizar manipulaciones en el entorno de tiempo de ejecución. Esto debe importarse como otros paquetes para utilizar las funcionalidades que contiene. El módulo sys de Python proporciona una variedad de funciones y constantes entre las que se encuentra la constante maxint , que se puede usar para establecer un valor entero positivo que se garantiza que es mayor que cualquier otro entero. Mira el ejemplo de abajo.
Python
# import the module import sys # initializing the list li = [1, -22, 43, 89, 2, 6, 3, 16] # assigning a larger value with # maxint constant curr_min = sys.maxint # loop to find minimum value for i in range(0, len(li)): # update curr_min if a value lesser # than it is found if li[i] < curr_min: curr_min = li[i] print("The minimum value is " + str(curr_min))
The minimum value is -22
En el programa anterior, en lugar de asignar un valor mayor manualmente, se usa sys.maxint . Esta constante es compatible con la versión 2.x de Python. El valor denotado por la constante se puede calcular como:
maxint = 2 31 – 1 (en un entorno de 32 bits)
maxint = 2 63 – 1 (en un entorno de 64 bits)
En Python 2 , agregar 1 al maxint da el int largo más alto posible y en Python 2.7 , restar 1 del maxint da el valor más pequeño posible para un entero .
Python
# import the module import sys max_int = sys.maxint min_int = sys.maxint-1 long_int = sys.maxint+1 print("maxint :"+str(max_int)+" - "+str(type(max_int))) print("maxint - 1 :"+str(max_int)+" - "+str(type(min_int))) print("maxint + 1 :"+str(max_int)+" - "+str(type(long_int)))
maxint :9223372036854775807 - <type 'int'> maxint - 1 :9223372036854775807 - <type 'int'> maxint + 1 :9223372036854775807 - <type 'long'>
Esta constante se eliminó de Python 3 , ya que los números enteros en esta versión se consideran de longitud arbitraria. Si usa esta constante en Python 3, obtendrá el siguiente error. Considere el mismo ejemplo en el que el elemento de valor mínimo debe encontrarse en una lista.
Python3
import sys # initializing the list li = [1, -22, 43, 89, 2, 6, 3, 16] # assigning a larger value with maxint constant curr_min = sys.maxint # loop to find minimum value for i in range(0, len(li)): # update curr_min if a value lesser than it is found if li[i] < curr_min: curr_min = li[i] print("The minimum value is " + str(curr_min))
Producción :
AttributeError: module 'sys' has no attribute 'maxint'
Esta constante se eliminó porque ya no había un límite para el valor de los números enteros. En Python 3, se introdujo una constante similar a esta, que es sys.maxsize . Esto devuelve el valor entero más alto posible del tipo de variable Py_ssize_t y también indica el tamaño del puntero de la plataforma. Se considera que este tamaño máximo limita el tamaño de varias estructuras de datos como strings y listas. Otra cosa a tener en cuenta es que, en Python 3, int y long int se fusionan en uno. Mire el siguiente ejemplo para una mejor comprensión.
Python3
# import the module import sys # using sys.maxsize max_int = sys.maxsize min_int = sys.maxsize-1 long_int = sys.maxsize+1 print("maxint :"+str(max_int)+" - "+str(type(max_int))) print("maxint - 1 :"+str(max_int)+" - "+str(type(min_int))) # the data type is represented as int print("maxint + 1 :"+str(max_int)+" - "+str(type(long_int)))
maxint :9223372036854775807 - <class 'int'> maxint - 1 :9223372036854775807 - <class 'int'> maxint + 1 :9223372036854775807 - <class 'int'>
Publicación traducida automáticamente
Artículo escrito por erakshaya485 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA