Python’s help function lets you see the help message written for you by the developer. It is particularly useful in IDLE / shell to inspect modules and explore.
Here is a sample shell demo
>>> help(print) Help on built-in function print in module builtins: print(...) print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False) Prints the values to a stream, or to sys.stdout by default. Optional keyword arguments: file: a file-like object (stream); defaults to the current sys.stdout. sep: string inserted between values, default a space. end: string appended after the last value, default a newline. flush: whether to forcibly flush the stream.
Now if we want to store that text in a string, if we try x = help(print), we get not a string, but a surprise:
>>> x = help(print) Help on built-in function print in module builtins: print(...) print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False) Prints the values to a stream, or to sys.stdout by default. Optional keyword arguments: file: a file-like object (stream); defaults to the current sys.stdout. sep: string inserted between values, default a space. end: string appended after the last value, default a newline. flush: whether to forcibly flush the stream. >>> x >>> x >>> type(x) <class 'NoneType'> >>>
Ugh. How the to get the doctring as a string?
In Enters Pydoc
Pydoc is used to generate documentations
Here is the snippet to store the docstring as a variable
from pydoc import render_doc doctring = render_doc(print)
Simple isn’t it?
instead of print, add any module.