Exploring the math module
I could write code for days using the math
module and never hit the end. math
is huge. It's designed to keep you from rewriting a stack of mathematical functions that someone had inevitably written before (formulas for calculating the sine, cosine, tangent, etc).
So rather than write a stack of example code, let's instead discuss what math
can do for you. math
can do any of these functions on integers only - cmath
provides the same, but allows complex numbers.
Number-theoretic and representation functions
These functions deal with a few basic theoretical calculations that didn't quite fit anywhere else. Things like factorial()
, fabs()
(which calculates absolute value), and modf()
which returns the fractional and integer parts of a float can all be found here.
Power and logarithmic functions
As can be expected, you'll find things with exponents and logarithms here. Need to calculate e^x? Use exp(x)
. Need to get x^y? Use pow(x, y)
. Logarithms use log(x, [base])
. Easy stuff here.
Trigonometric functions
This is where all of the trigonometric functions live: things like sin(x)
, cos(x)
, tan(x)
. I wish I'd known about this in the eleventh grade with Mrs. May.
Angular conversion functions
Need to go from degrees to radians? Use radians(x)
. Need to go from radians to degrees? Use degrees(x)
.
Hyperbolic functions
I never used these in eleventh grade and am only moderately aware of what they do. If you need the hyperbolic tangent of x - tanh(x)
- or the inverse hyperbolic cosine - acosh(x)
- this is where to look.
Error functions
Same thing for error functions. I am not proud of how much math I don't know right now.
Constants
These I've got, though! This is where pi
and e
live.
math
is great, and if you're going to using Python for statistical or scientific computing, it's a must-know.