Python 2 автоматически установит тип в зависимости от размера значения. Руководство по максимальным значениям можно найти ниже.
Максимальное значение Int по умолчанию в Python 2 - 65535, все, что выше, будет длинным.
Например:
>> print type(65535)
<type 'int'>
>>> print type(65536*65536)
<type 'long'>
В Python 3 длинный тип данных был удален, и все целочисленные значения обрабатываются классом Int. Размер Int по умолчанию будет зависеть от архитектуры вашего процессора.
Например:
- В 32-битных системах тип данных по умолчанию для целых чисел будет Int32.
- В 64-битных системах типом данных по умолчанию для целых чисел будет Int64.
Минимальные / максимальные значения каждого типа можно найти ниже:
- 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]
Если размер вашего Int превышает указанные выше ограничения, python автоматически изменит его тип и выделит больше памяти для обработки этого увеличения минимальных / максимальных значений. Если в Python 2 он преобразовывался в long, теперь он просто преобразуется в следующий размер Int.
Пример: если вы используете 32-битную операционную систему, максимальное значение Int по умолчанию будет 2147483647. Если присвоено значение 2147483648 или более, тип будет изменен на Int64.
Есть разные способы проверить размер int и выделение памяти. Примечание. В Python 3 использование встроенного метода type () всегда будет возвращать, <class 'int'>
независимо от того, какой размер Int вы используете.