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.