Python Numbers
Python supports integers, floating point numbers and complex numbers. They are defined as int, float and complex class in Python. There’s no type declaration to distinguish them; Python tells them apart by the presence or absence of a decimal point.

Integers and floating points are separated by the presence or absence of a decimal point. 5 is integer whereas 6.3 is a floating point number.

Complex numbers are written in the form, x + yj, where x is the real part and y is the imaginary part.

We can use the type() function to know which class a variable or a value belongs to and isinstance() function to check if it belongs to a particular class.
``````>>> a = 5
>>> # Output: <class 'int'>
>>> print(type(a))
<class 'int'>
>>> # Output: <class 'float'>
>>> print(type(6.3))
<class 'float'>
>>> # Output: (9+7j)
>>> c = 5 + 7j
>>> print(c + 7)
(12+7j)
>>> # Output: True
>>> print(isinstance(c, complex))
True
>>> ``````

Python supports the following operators on numbers.

` + ` addition

` - ` subtraction

` * ` multiplication

` / ` division

` ** ` exponent

` % ` remainder

Let’s try them on integers.
``````>>> 10+15
25
>>> 10-5
5
>>> 10*7
70
>>> 10/3
3.3333333333333335
>>> 10**2
100
>>> 10%2
0
>>> ``````

The operators have precedence, a kind of priority that determines which operator is applied first. Among the numerical operators, the precedence of operators is as follows, from low precedence to high.

• `+, -`
• `*, /, %`
• `**`
• When we compute `2 + 3 * 4, 3 * 4` is computed first as the precedence of * is higher than + and then the result is added to 2.

``````>>> 2 + 3 * 4
14``````
We can use parenthesis to specify the explicit groups.
``````>>> (2 + 3) * 4
20``````