Ceil This rounds the number up to the next highest one. A ceiling is always above us.

Tip When using methods like floor and ceil, consistency is helpful. If some parts of the program use these methods, others should too.

Python program that imports math

import math
# Fractional number.
n = 100.7# Absolute value.
print(math.floor(n))
print(math.ceil(n))100
101

Sum, fsum. With sum, we add together the elements in a list. Fsum is a more accurate way to sum floating-point numbers. On integers, the methods are equal. But fsum is better for floats.

Here In this example, the sum() method causes a rounding error to occur. The fsum() method returns a better sum.

Python program that uses sum, fsum

import math
# Input list.
values = [0.9999999, 1, 2, 3]
# Sum values in list.
r = sum(values)
print(r)
# Sum values with fsum.
r = math.fsum(values)
print(r)6.999999900000001
6.9999999

Truncate. Truncating a number removes everything past the decimal place. This does not round the number. Instead it just eliminates the fractional part.

Note The number before the decimal place is never changed with math.trunc. This is similar to casting to (int) in C-like languages.

Python program that uses math.trunc

import math
# Truncate this value.
value1 = 123.45
truncate1 = math.trunc(value1)
print(truncate1)
# Truncate another value.
value2 = 345.67
truncate2 = math.trunc(value2)
print(truncate2)123
345

Pow built-in. Exponentiation multiplies a number by itself a certain number of times. With math.pow we apply this operation. Math.pow is similar to the ** operator.

But When math.pow is applied, the result is always converted to a float. This is not the case with the ** operator.

Tip More examples of using the exponent operator are available on the numbers page.

import math
# Use math.pow method.
a = math.pow(2, 3)
# Use operator.
b = 2 ** 3
# Print results.
print(a)
print(b)8.0
8

Sqrt. In most programs, we do not need square roots. But when we do, the math.sqrt method is useful. It receives one argument. It returns the square root (in floating-point form).

Tip If your program often uses square roots, a cache or lookup table may be helpful. You could memoize the result of math.sqrt for speed.

import math
value1 = 9
value2 = 16
value3 = 100# Use sqrt method.
print(math.sqrt(value1))
print(math.sqrt(value2))
print(math.sqrt(value3))3.0
4.0
10.0

Pi, E. You probably know the approximate values of E and pi. And you could specify these directly in a Python program. But with math.e and math.pi, we avoid this hassle.

Python program that uses math.e, pi

import math
# This returns the value of e.
print(math.e)
# And this is pi.
print(math.pi)2.718281828459045
3.141592653589793

Abs built-in. This is a built-in function in Python. We invoke it with one argument. Abs returns the absolute value of that argument.

Round. This method rounds a number up or down. We call it with a float argument. We can specify how many digits past the decimal place we want to keep.

Compound interest. Math is used in the real world. Please also check out the compound_interest Python implementation. It uses pow to compute an exponential function.

A summary. It is possible to directly compute mathematical functions. We could add methods that use arithmetic operators. But this adds complexity. It bloats programs.

Instead, we can use built-ins. These are found in the default and math modules. This approach is more effective. It is simpler. It makes programs easier to understand and maintain.