I recently used '
help()' on one of my own internal modules, mostly as
a quick way to browse the entire function/class collection in one go.
Now, I'm kind of a slacker when it comes to using docstrings (for some
reason I prefer comments before the function), so I didn't expect to
see very much in the
Much to my surprise I saw things like:
hostFromEnv(env) # Extract the host from the # REQUEST_URI, if it is present.
The amount of introspective magic required to do this turns out to be pretty impressive; for extra points, it's pretty much all done in Python.
help() function is a shim created in
as an instance of a class. The function wraps
which winds up calling on
for the heavy lifting. This works by finding and scanning the source
file itself, starting from the
attributes that the bytecode compiler glues on things.
(I should probably get over my reluctance to use docstrings, especially if I'm putting the exact same information in the comments. At the moment I like the visual look of comments better; docstrings make me feel that the documentation is quietly disappearing into the rest of the code.)