# Python: Math Functions

Written by:

Editorial,  15 min read,  updated on September 17, 2023

Python is used extensively in finance, simulation, data science, statistical analysis, and in many other mathematically-intensive fields of work. The reason being is that Python makes working with numbers very easy.

## Arithmetic Operators

Here are the most common arithmetic operators that allow you to manipulate numbers in Python.

You can add numbers in Python using the `+` operator.

``````x = 2
y = 5

total = x + y
print(total)``````
``7``

### Subtraction

You can subtract numbers in Python using the `-` operator.

``````x = 8
y = 3

total = x - y
print(total)``````
``5``

### Multiplication

You can multiply numbers in Python using the `*` operator.

``````x = 4
y = 6

total = x * y
print(total)``````
``24``

### Division

You can divide numbers in Python using the `/` operator.

``````x = 54
y = 2

total = x / y
print(total)``````
``27.0``

### Modulus

You can find the remainder of a division in Python using the `%` operator.

``````x = 64
y = 23

total = x % y
print(total)``````
``18.0``

### Exponents

You can find the power of a number in Python using the `**` operator.

``````x = 2
y = 4

total = x ** y
print(total)``````
``16``

### Order of Operations

Order of Operations, also known as PEMDAS, is at play here, including with the use of parentheses.

``````x = (4 * 5) + 20 / 4
print(x)``````
``25``

## Python Number Types

There are three kinds of numbers in Python, and they are as followed:

• int
• float
• complex
``````a = 1337  # int
b = 13.37 # float
c = 1337j # complex

print(type(a))
print(type(b))
print(type(c))``````
``````<class 'int'>
<class 'float'>
<class 'complex'>``````

### int

Integers are whole numbers like `4` or `532`. They can be positive or negative, and they don't contain any decimals.

``````a = 423
b = 74
c = 87937595``````

These are all valid integers.

### Float

Floating point numbers are numbers containing a decimal, and can also be positive or negative. Here are some examples:

``````a = 1.53
b = 3.1
c = -95.23``````

### Complex

Complex numbers are Python's representation of imaginary numbers, and they use a `j` to represent the `i`.

``````a = 4+2j
b = 9j
c = -3j``````

## Number Type Conversion

Python offers built-in methods to convert between these types using the `float()`, `int()`, and `complex()` methods.

``````a = 5   # int
b = 3.3 # float
c = 7j  # complex

float = float(a)
int = int(b)
complex = complex(a)

print(float)
print(int)
print(complex)

print(type(float))
print(type(int))
print(type(complex))``````
``````5.0
3
(5+0j)
<class 'float'>
<class 'int'>
<class 'complex'>``````

## Math Methods

We mentioned before that Python is used heavily in any field that utilizes math. The built-in methods that Python provides is a large reason why. Here are some of the most common ones:

### Absolute Value

Get the absolute value of a number by using the `abs()` method:

``````number = -34
print(abs(number))``````
``34``

### Floor

Use the `floor()` method to get the number passed in rounded down to the nearest integer if it is not already an integer.

``````import math

number = 6.21
print(math.min(number))``````
``6``

### Ceiling

Use the `ceil()` method to get the number passed in rounded up to the next highest integer if it is not already an integer.

``````import math

number = 6.21
print(math.ceil(number))``````
``7``

### Natural Logarithm

You can get the natural logarithms of a number using `log()`.

``````import math

number = 123
print(math.log(number))``````
``4.812184355372417``

### Base-10 Logarithm

Alternatively, you can also get the base-10 logarithm of a number using `log10()`.

``````import math

number = 123
print(math.log10(number))``````
``2.089905111439398``

### Maximum

You can get the maximum of two or more numbers using the `max()` method:

``````number1 = 123
number2 = 456
number3 = 789
print(max(number1, number2, number3))``````
``789``

### Minimum

You can get the minimum of two or more numbers using the `min()` method:

``````number1 = 123
number2 = 456
number3 = 789
print(min(number1, number2, number3))``````
``123``

### Power

You can take the power of a number using `pow`.

``````base = 3
exponent = 4
print(pow(base, exponent))``````
``81``

### Round

You can round off any number to the nearest integer using `round()`.

``````number = 3.1459
places = 3
print(round(number, places))``````
``3.146``

### Square Root

You can take the square root of a number using `sqrt()`.

``````import math

number = 81
print(math.sqrt(number))``````
``9``

### Random

Generating random numbers in Python is easy. There's a module named `random` that has all we need. Call the `randrange()` method to get a number in between two other numbers you define:

``````import random

start = 1
end = 10
print(random.randrange(start, end))``````
``6``

## Math Constants

One last cool to point out is that Python's `math` module also comes with some predefined constants for us.

### Euler's Number

One of the constants that the `math` module comes with is Euler's Number:

``````import math

e = math.e
print(e)``````
``2.718281828459045``

### Pi

Python's `math` module also comes with a value for Pi, the ratio of the circumference of a circle relative to its diameter.

``````import math

pi = math.pi
print(pi)``````
``3.141592653589793``