Python 2 establecerá automáticamente el tipo según el tamaño del valor. A continuación se puede encontrar una guía de valores máximos.
El valor máximo del Int predeterminado en Python 2 es 65535, todo lo que esté por encima será un largo
Por ejemplo:
>> print type(65535)
<type 'int'>
>>> print type(65536*65536)
<type 'long'>
En Python 3, el tipo de datos largo se ha eliminado y la clase Int maneja todos los valores enteros. El tamaño predeterminado de Int dependerá de la arquitectura de su CPU.
Por ejemplo:
- Sistemas de 32 bits, el tipo de datos predeterminado para enteros será 'Int32'
- Sistemas de 64 bits, el tipo de datos predeterminado para enteros será 'Int64'
Los valores mínimo / máximo de cada tipo se pueden encontrar a continuación:
- Int8: [-128,127]
- Int16: [-32768,32767]
- Int32: [-2147483648,2147483647]
- Int64: [-9223372036854775808,9223372036854775807]
- Int128: [-170141183460469231731687303715884105728,170141183460469231731687303715884105727]
- UInt8: [0,255]
- UInt16: [0,65535]
- UInt32: [0,4294967295]
- UInt64: [0,18446744073709551615]
- UInt128: [0,340282366920938463463374607431768211455]
Si el tamaño de su Int excede los límites mencionados anteriormente, Python cambiará automáticamente su tipo y asignará más memoria para manejar este aumento en los valores mínimo / máximo. Donde en Python 2, se convertiría en 'largo', ahora simplemente se convierte en el siguiente tamaño de Int.
Ejemplo: si está utilizando un sistema operativo de 32 bits, su valor máximo de un Int será 2147483647 por defecto. Si se asigna un valor de 2147483648 o más, el tipo se cambiará a Int64.
Hay diferentes formas de verificar el tamaño del int y su asignación de memoria. Nota: En Python 3, el uso del método integrado type () siempre devolverá <class 'int'>
sin importar el tamaño de Int que esté usando.