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.