Return to Snippet

Revision: 21881
at December 22, 2009 15:41 by magicrebirth


Initial Code
def info(object, spacing=10, collapse=1):   
    """Print methods and doc strings.
    
    Takes module, class, list, dictionary, or string."""
    methodList = [method for method in dir(object) if callable(getattr(object, method))]
    processFunc = collapse and (lambda s: " ".join(s.split())) or (lambda s: s)
    print "\n".join(["%s %s" %
                      (method.ljust(spacing),
                       processFunc(str(getattr(object, method).__doc__)))
                     for method in methodList])

if __name__ == "__main__":                 
    print info.__doc__

Initial URL
diveintopython-5.4/html/power_of_introspection/index.html

Initial Description
The info function is designed to be used by you, the programmer, while working in the Python IDE. It takes any object that has functions or methods (like a module, which has functions, or a list, which has methods) and prints out the functions and their doc strings.

Initial Title
Python: Introspection function

Initial Tags


Initial Language
Python