Integers (int) has no maximum limit in Python3
Python2 has two integer type,
long, but Python3 has only
int in Python3 is equivalent to
long in Python2, and there is no limit on the maximum value. It is possible to handle as large value as memory is available.
Here, the following contents will be described.
int and long in Pyhton2
Python2 has plain integers
int and long integers
The maximum possible value of
int can be get with
sys.maxint. The minimum value (the largest negative value) is
sys.maxint is at least
2**31-1, and on a 64-bit environment it is
long has no maximum / minimum limit.
int in Python3
int in Python3 corresponds to
long in Python2, and there is no maximum / minimum limit.
The sys.maxint constant was removed, since there is no longer a limit to the value of integers. However, sys.maxsize can be used as an integer larger than any practical list or string index. It conforms to the implementation’s “natural” integer size and is typically the same as sys.maxint in previous releases on the same platform (assuming the same build options). What’s New In Python 3.0 — Python 3.8.4 documentation
sys.maxint has been removed, and
sys.maxsize has been added.
2**31-1 on a 32-bit environment and
2**63-1 on a 64-bit environment, like
sys.maxint in Python2.
import sys print(sys.maxsize) # 9223372036854775807 print(type(sys.maxsize)) # <class 'int'> print(sys.maxsize == 2**63 - 1) # True
Converted to binary and hexadecimal numbers with
sys.maxsize is expressed as follows.
print(bin(sys.maxsize)) # 0b111111111111111111111111111111111111111111111111111111111111111 print(hex(sys.maxsize)) # 0x7fffffffffffffff
sys.maxsize is not the maximum possible value of
int, and it is possible to handle larger values as memory is available.
i = 10**100 print(i) # 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 print(i > sys.maxsize) # True
The floating-point number
inf representing infinity.
inf is judged to be larger than any value of
print(float('inf')) # inf print(i > float('inf')) # False