StackTips

Python: Math Functions

Updated On: Sep 17, 2022

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.

Addition

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