This page is a summary of Python int (integer) data type – its basic characteristics, how to create an int, how to convert other data types to int, basic arithmetic and comparison operations, and typical use cases.
int data type represents integers = whole numbers = numbers without decimal point. This is the main difference from Python
float data type, which is a floating point number (number with decimal point).
int can be positive, negative, or zero.
int data type as well as the corresponding
int() function are built-in. You don't need to import anything to use them.
How to create an int
The simplest way to create an
int variable is by assigning a whole number to it, using the
= assignment operator.
a = 123 b = -456 c = 0
Converting other data types to int
int can be created by converting another type variable to it, using the
str to int
For example, this converts the string
'123' to the int
a = int('123')
float to int
float is converted to
int, it loses everything after the decimal point:
>>> int(123.456) 123 >>> int(-123.456) -123
As a result, a positive
float is rounded down to the nearest smaller integer (closer to zero), while a negative
float is rounded up to the nearest higher integer (closer to zero).
Arithmetic operations with ints
Python supports all common arithmetic operations using the usual symbols:
a + b
a - b
a * b
a / b
- Modulo (remainder):
a % b
a ** b
>>> 5 + 2 # 5 plus 2 7 >>> 5 - 2 # 5 minus 2 3 >>> 5 * 2 # 5 times 2 10 >>> 5 / 2 # 5 divided by 2 2.5 >>> 5 % 2 # remainder of 5 divided by 2 1 >>> 5 ** 2 # 5 to the power of 2 (5 squared) 25
All these operations return another
int, except division which returns a
float, even when the result would be a whole number mathematically. For example:
>>> 10 / 5 2.0 >>> type(10 / 5) <class 'float'>
To avoid this an get an integer, use the integer division operator
// (double slash):
>>> 10 // 5 2 >>> type( 10 // 5) <class 'int'>
Python supports all the common comparison operators between integers. They return a
>>> 12 > 5 # 12 is greater than 5 True >>> 12 >= 5 # 12 is greater than or equal to 5 True >>> 12 < 5 # 12 is smaller than 5 False >>> 12 <= 5 # 12 is smaller than or equal to 5 False >>> 5 <= 5 True >>> 12 == 5 # 12 equals 5 False >>> 12 == 12 True >>> 12 != 5 # 12 does not equal 5 True >>> 12 != 12 False
Comparison operators also work between ints and other numeric types, such as floats:
>>> 12 > 5.75 True >>> 12 <= 5.75 False >>> 12 == 12.0 True
However, comparison operators do not work between ints and strings, even when the string represents a numeric value. We get a TypeError:
>>> 12 > '5' Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: '>' not supported between instances of 'int' and 'str'
Boolean evaluation of ints
When an int is used in the boolean context or evaluated using the
>>> bool(0) False >>> bool(123) True >>> bool(-123) True
Typical use cases
As one of the most basic data types,
int has a wide variety of uses in Python. The following are just of few common examples.
Discrete numeric variables, such as number of persons, number of website visitors, number of items sold or items in stock, or number of seats in a concert hall.
Moreover, integers are often used to represent even variables which are not discrete in the real world, but the particular use case does not require decimal point precision. For example, age or financial amounts.
Date and time. Although there are modules such as
datetime dedicated to working with time and date, at the low level they work with integers – years, months, days, hours, minutes, seconds, microseconds, or weekdays.
Primary key in databases and big data applications. Because of its simplicity and performance benefits,
int is typically used as primary key and unique identifier of rows in databases and big datasets.
>>> s = 'PyTut' >>> s 'y' >>> colors = ['red', 'green', 'blue'] >>> colors 'blue'
Counter in loops. The typical use case is an
int as argument to
range() in a for-loop:
for i in range(20): # do something 20 times
Coordinates in game development and other graphics. Integers represent x and y positions of individual pixels.
Error handling. Integers are typically used as error codes to identify what went wrong in a script execution.
Numeric data types (