# Python Numbers

New Courses Coming Soon

Join the waiting lists

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
``````

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 an integer 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
4 % 3 #1
4 ** 2 #16
4 // 2 #2
``````

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

There are 2 built-in functions that help with numbers:

`abs()` returns the absolute value of a number.

`round()` given a number, returns its value rounded to the nearest integer:

``````round(0.12) #0
``````

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 `math` package provides general math functions and constants
• the `cmath` package provides utilities to work with complex numbers.
• the `decimal` package provides utilities to work with decimals and floating point numbers.
• the `fractions` package provides utilities to work with rational numbers

We’ll explore some of those separately later on.

→ Get my Python Handbook
→ Get my Python Handbook