Simplifying the docstring class in python

I have the simplest class derived from Exception looks something like this:

class Test(Exception):
    '''
    My Test class 
    '''
    def __init__(self, param=None):
        self.param = param

    def __str__(self):
        return 'Test representation'

    def foo(self):
        '''Perform a foo'''
        print 'Fubar'

      

When I run help () on this module, I get:

class Test(exceptions.Exception)
 |  My Test class
 |
 |  Method resolution order:
 |      Test
 |      exceptions.Exception
 |      exceptions.BaseException
 |      __builtin__.object
 |
 |  Methods defined here:
 |
 |  __init__(self, param=None)
 |
 |  __str__(self)
 |
 |  foo(self)
 |      Perform a foo
 |
 |  ----------------------------------------------------------------------
 |  Data descriptors defined here:
 |
 |  __weakref__
 |      list of weak references to the object (if defined)
 |
 |  ----------------------------------------------------------------------
 |  Data and other attributes inherited from exceptions.Exception:
 |
 |  __new__ = <built-in method __new__ of type object>
 |      T.__new__(S, ...) -> a new object with type S, a subtype of T
 |
 |  ----------------------------------------------------------------------
 |  Methods inherited from exceptions.BaseException:
 |
 |  __delattr__(...)
 |      x.__delattr__('name') <==> del x.name
 |
 |  __getattribute__(...)
 |      x.__getattribute__('name') <==> x.name
 |
 |  __getitem__(...)
 |      x.__getitem__(y) <==> x[y]
 |
 |  __getslice__(...)
 |      x.__getslice__(i, j) <==> x[i:j]
 |
 |      Use of negative indices is not supported.
 |
 |  __reduce__(...)
 |
 |  __repr__(...)
 |      x.__repr__() <==> repr(x)
 |
 |  __setattr__(...)
 |      x.__setattr__('name', value) <==> x.name = value
 |
 |  __setstate__(...)
 |
 |  __unicode__(...)
 |
 |  ----------------------------------------------------------------------
 |  Data descriptors inherited from exceptions.BaseException:
 |
 |  __dict__
 |
 |  args
 |
 |  message

      

This is an awful amount of noise that has nothing to do with class documentation. How can I suppress it all?

[Edit] I would like it to be more like what I would get if the class did not inherit from Exception

Like this:

class Test
 |  My Test class
 |
 |  Methods defined here:
 |
 |  __init__(self, param=None)
 |
 |  __str__(self)
 |
 |  foo(self)
 |      Perform a foo

      

+3


source to share


1 answer


if you type:

help(help) 

      

You should read:



Help on _Helper in module site object:

class _Helper(__builtin__.object)
 |  Define the builtin 'help'.
 |  This is a wrapper around pydoc.help (with a twist).
 ...

      

This means that you should be able to write your own "custom" helper function. It seems like you should take a look at the implementation pydoc

help()

.

+1


source







All Articles