# Numbers

First, open up the REPL.

There are three different types of numbers in Python: `int` for Integer, Float, and Complex.

``````# These are all integers
x = 4
y = -193394
z = 0
``````
``````# These are all floats
x = 5.0
y = -3983.2
z = 0.
``````
``````# This is a complex number
x = 42j
``````

In Python, Integers and other simple data types are just objects under the hood. That means that you can create new ones by calling methods. You can provide either a number, or a string. This will come in handy later on in the course.

``````x = int(4)
y = int('4')
z = float(5.0)
``````

Python also provides a `decimal` library, which has certain benefits over the `float` datatype. For more information, refer to the Python documentation.

## Mathematical Operations

Numbers can be added together. If you add a `float` and an `int`, the resulting type will be a `float`.

If you divide two `int`s (integers), the result will be of type `float`.

## Boolean Types

In Python, Booleans are of type `bool`. Surprisingly, the boolean types `True` and `False` are also numbers under the hood.

• `True` is `1` under the hood.
• `False` is `0` under the hood.

That means you can do silly things, like add two Boolean numbers together, but I’ll cover why this is a useful Python feature later in the course.