As a general purpose programming language, Python is frequently used to solve mathematical problems. It includes built-in types for managing integer and floating point numbers, which are suitable for the basic math that might appear in an average application. The standard library includes modules for more advanced needs.

Python’s built-in floating point numbers use the underlying double representation. They are sufficiently precise for most programs with mathematical requirements, but when more accurate representations of non-integer values are needed the decimal and fractions modules will be useful. Arithmetic with decimal and fractional values retains precision, but is not as fast as the native float.

The random module includes a uniform distribution pseudorandom number generator, as well as functions for simulating many common non-uniform distributions.

The math module contains fast implementations of advanced mathematical functions such as logarithms and trigonometric functions. The full complement of IEEE functions usually found in the native platform C libraries is available through the module.