print(__doc__) in Python 3 script

it seems __doc__ is useful to provide some documentation in, say, functions

This is true. In addition to functions, documentation can also be provided in modules. So, if you have a file named mymodule.py like this:

"""This is the module docstring."""

def f(x):
    """This is the function docstring."""
    return 2 * x

You can access its docstrings like this:

>>> import mymodule
>>> mymodule.__doc__
'This is the module docstring.'
>>> mymodule.f.__doc__
'This is the function docstring.'

Now, back to your question: what does print(__doc__) do? Simply put: it prints the module docstring. If no docstring has been specified, __doc__ defaults to None.

Leave a Comment