rep_movsd
rep_movsd

Reputation: 6895

Simplifying class docstring in python

I have the most 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

That's a terrible amount of noise which is irrelevant to the documentation of the class. How do I suppress all that?

[Edit] I'd like it to be more like what I'd get if the class wasn't inherited from Exception

Like this :

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

Upvotes: 3

Views: 693

Answers (1)

Don Question
Don Question

Reputation: 11614

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).
 ...

Which means you should be able to write your "own" helper function. It seems you should take a look at pydocs implementation of help().

Upvotes: 1

Related Questions