But how can we find out what other functions are available in the math module?
The REPL has a special function help() which can retrieve any embedded documentation from objects for which documentation has been provided, such as standard library modules.
To get help, simply type help at the prompt:
>>> help Type help() for interactive help, or help(object) for help about object.
We'll leave you to explore the first form — for interactive help — in your own time. Here we'll go for the second option and pass the math module as the object for which we want help:
The following documentation is automatically generated from the Python source files. It may be incomplete, incorrect or include features that are considered implementation detail and may vary between Python implementations. When in doubt, consult the module reference at the location listed above.
DESCRIPTION This module is always available. It provides access to the mathematical functions defined by the C standard.
FUNCTIONS acos(...) acos(x)
Return the arc cosine (measured in radians) of x.
You can use the space-bar to page through the help, and if you're on Mac or Linux use the arrow keys to scroll up and down.
Browsing through the functions, you'll can see that there's a math function, factorial, for computing factorials. Press Q to exit the help browser, and return us to the Python REPL.
Now practice using help() to request specific help on the factorial function:
>>> help(math.factorial) Help on built-in function factorial in module math:
factorial(...) factorial(x) -> Integral
Find x!. Raise a ValueError if x is negative or non-integral.
Press Q to return to the REPL.
Let's use factorial() a bit. The function accepts an integer argument and return an integer value:
Notice how we need to qualify the function name with the module namespace. This is generally good practice, as it makes it abundantly clear where the function is coming from. That said, it can result in code that is excessively verbose.