Python help() function

Filed Under: Python

Python help() function is used to get the documentation of specified module, class, function, variables etc. This method is generally used with python interpreter console to get details about python objects.

Python help() function

Python help() function syntax is:


help([object])

If no argument is given, the interactive help system starts on the interpreter console.

python help utility console

In python help console, we can specify module, class, function names to get their help documentation. Some of them are:


help> True

help> collections

help> builtins

help> modules

help> keywords

help> symbols

help> topics

help> LOOPING

If you want to get out of help console, type quit.

We can also get the help documentation directly from the python console by passing a parameter to help() function.


>>> help('collections')

>>> help(print)

>>> help(globals)

Let’s see what is the output of help() function for globals() function.


>>> help('builtins.globals')

Help on built-in function globals in builtins:

builtins.globals = globals()
    Return the dictionary containing the current scope's global variables.
    
    NOTE: Updates to this dictionary *will* affect name lookups in the current global scope and vice-versa.

Defining help() for custom class and functions

We can define help() function output for our custom classes and functions by defining docstring (documentation string). By default, the first comment string in the body of a method is used as its docstring. It’s surrounded by three double quotes.

Let’s say we have a python file python_help_examples.py with following code.


def add(x, y):
    """
    This function adds the given integer arguments
    :param x: integer
    :param y: integer
    :return: integer
    """
    return x + y


class Employee:
    """
    Employee class, mapped to "employee" table in Database
    """
    id = 0
    name = ''

    def __init__(self, i, n):
        """
        Employee object constructor
        :param i: integer, must be positive
        :param n: string
        """
        self.id = i
        self.name = n

Notice that we have defined docstring for function, class and its methods. You should follow some format for documentation, I have generated some part of them automatically using PyCharm IDE. NumPy docstring guide is a good place to get some idea around proper way of help documentation.

Let’s see how to get this docstring as help documentation in python console.

First of all, we will have to execute this script in the console to load our function and class definition. We can do this using exec() command.


>>> exec(open("python_help_examples.py").read())

We can verify that the functions and class definitions are present using globals() command.


>>> globals()
{'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__warningregistry__': {'version': 0}, 'add': <function add at 0x100dda1e0>, 'Employee': <class '__main__.Employee'>}

Notice that ‘Employee’ and ‘add’ are present in the global scope dictionary.

Now we can get the help documentation using help() function. Let’s look at some of the examples.


>>> help('python_help_examples')

python help custom module


>>> help('python_help_examples.add')

Help on function add in python_help_examples:

python_help_examples.add = add(x, y)
    This function adds the given integer arguments
    :param x: integer
    :param y: integer
    :return: integer
(END)

python help function


>>> help('python_help_examples.Employee')

python help class


>>> help('python_help_examples.Employee.__init__')


Help on function __init__ in python_help_examples.Employee:

python_help_examples.Employee.__init__ = __init__(self, i, n)
    Employee object constructor
    :param i: integer, must be positive
    :param n: string
(END)

python help class method

Summary

Python help() function is very helpful to get the details about modules, classes, and functions. It’s always best practice to define docstring for the custom classes and functions to explain their usage.

You can checkout complete python script and more Python examples from our GitHub Repository.

Reference: Official Documentation

Leave a Reply

Your email address will not be published. Required fields are marked *

close
Generic selectors
Exact matches only
Search in title
Search in content
Search in posts
Search in pages