Python Numbers
By Flavio
Published · Updated
Tagged: Python
Learn how numbers work in Python with the int, float, and complex types, the arithmetic operators, and built-in helpers like abs() and round() for rounding.
Numbers in Python can be of 3 types: int, float and complex.
Integer numbers
Integer numbers are represented using the int class. You can define an integer using a value literal:
age = 8
Python ints have arbitrary precision, so they do not overflow. You can write 1_000_000 with underscores (Python 3.6+) to make a large number easier to read.
You can also define an integer number using the int() constructor:
age = int(8)
To check if a variable is of type int, you can use the type() global function:
type(age) == int #True
Floating point numbers
Floating point numbers (fractions) are of type float. You can define a float using a value literal:
fraction = 0.1
Or using the float() constructor:
fraction = float(0.1)
To check if a variable is of type float, you can use the type() global function:
type(fraction) == float #True
Complex numbers
Complex numbers are of type complex.
You can define them using a value literal:
complexNumber = 2+3j
or using the complex() constructor:
complexNumber = complex(2, 3)
Once you have a complex number, you can get its real and imaginary part:
complexNumber.real #2.0
complexNumber.imag #3.0
Again, to check if a variable is of type complex, you can use the type() global function:
type(complexNumber) == complex #True
Arithmetic operations on numbers
You can perform arithmetic operations on numbers, using the arithmetic operators: +, -, *, / (division), % (remainder), ** (exponentiation) and // (floor division):
1 + 1 #2
2 - 1 #1
2 * 2 #4
4 / 2 #2.0
4 % 3 #1
4 ** 2 #16
4 // 2 #2
/ is true division and returns a float. // is floor division and returns an int for int operands.
and you can use the compound assignment operators
+=-=*=/=%=- ..and so on
to quickly perform operations on variables, too:
age = 8
age += 1
Built-in Functions
Two built-in functions I use a lot are abs() and round(). There are more: pow(), divmod(), min(), max(), sum().
abs() returns the absolute value of a number.
round() given a number, returns its value rounded to the nearest integer:
round(0.12) #0
Python rounds ties to the nearest even number (“banker’s rounding”): round(0.5) and round(-0.5) are 0, round(1.5) is 2, round(2.5) is 2.
round(0.5) #0
round(1.5) #2
round(2.5) #2
You can specify a second parameter to set the decimal points precision:
round(0.12, 1) #0.1
Several other math utility functions and constants are provided by the Python standard library:
- the
mathpackage provides general math functions and constants - the
cmathpackage provides utilities to work with complex numbers. - the
decimalpackage provides utilities to work with decimals and floating point numbers. - the
fractionspackage provides utilities to work with rational numbers
We’ll explore some of those separately later on.
Want me to talk about your product? You can sponsor this site.
Related posts about python: