The Python integer is a non-fractional number, like 1, 2, 45, -1, -2, and -100. It’s one of the three types of numbers Python supports natively, the other being floating point numbers and complex numbers.
Max size of a Python integer
Integers in Python 3 can have large values. In fact, they are unbounded, meaning there is no limit to their size, for example:
>>> num = 98762345098709872345000 >>> num + 1 98762345098709872345001
Of course there is a limit, since your computer does not have unlimited memory. However, for all practical purposes you don’t have to worry about it.
Integer types
Unlike Python 2 and many other languages, Python 3 has only one type of integer. This is part of Python’s aspiration to be a clean, easy to learn language. It’s one less thing we have to worry about. For more details, see PEP-0237.
Converting from and to an integer
String to integer
To convert a string to integer in Python, use the int()
function:
>>> int('100') 100
Integer to string
To convert an integer to string in Python, use the str()
function:
>>> str(200) '200'
Float to integer
To convert a float to an integer, use the int()
function:
>>> int(2.3) 2
Python random integer
Many use cases require a random integer. For this, you need to import the random
library. Be warned that this offers pseudo randomness, which is not suitable for cryptography.
Let’s get a random number:
>>> import random >>> random.randint(1,10)
The above instruction returns a pseudo random number from in to 10 inclusive, which means including 1 and 10. For full details of the random module, visit the Python documentation.
Is it a Python integer?
To check if a value is an integer, we can use the type()
function. It will return int
for integers. Here’s a simple example of how to use this in an if
-statement:
>>> type(2) int >>> if isinstance(2, int): ... print('An integer') ... An integer
Don’t use if type(2) == int
.
Using isinstance()
is almost always the better, cleaner way and covers more use cases, like subclasses.