# 3.2: Math functions

Python has a math module that provides most of the familiar mathematical functions. A module is a file that contains a collection of related functions.

Before we can use the functions in a module, we have to import it with an import statement:

>>> import math


This statement creates a module object named math. If you display the module object, you get some information about it:

>>> math
<module 'math' (built-in)>


The module object contains the functions and variables defined in the module. To access one of the functions, you have to specify the name of the module and the name of the function, separated by a dot (also known as a period). This format is called dot notation.

>>> ratio = signal_power / noise_power
>>> decibels = 10 * math.log10(ratio)



The first example uses math.log10 to compute a signal-to-noise ratio in decibels (assuming that signal_power and noise_power are defined). The math module also provides log, which computes logarithms base e.

The second example finds the sine of radians. The variable name radians is a hint that sin and the other trigonometric functions (cos, tan, etc.) take arguments in radians. To convert from degrees to radians, divide by 180 and multiply by $$\pi$$:

>>> degrees = 45
>>> radians = degrees / 180.0 * math.pi

The expression math.pi gets the variable pi from the math module. Its value is a floating-point approximation of $$\pi$$, accurate to about 15 digits.
>>> math.sqrt(2) / 2.0