title: Simplifying class docstring in python
body: <p>I have the most simplest class derived from Exception, looks something like this:</p>
  
  <pre><code>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'
  </code></pre>
  
  <p>When I run help() on this module, I get :</p>
  
  <pre><code>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__ = &lt;built-in method __new__ of type object&gt;
   |      T.__new__(S, ...) -&gt; a new object with type S, a subtype of T
   |
   |  ----------------------------------------------------------------------
   |  Methods inherited from exceptions.BaseException:
   |
   |  __delattr__(...)
   |      x.__delattr__('name') &lt;==&gt; del x.name
   |
   |  __getattribute__(...)
   |      x.__getattribute__('name') &lt;==&gt; x.name
   |
   |  __getitem__(...)
   |      x.__getitem__(y) &lt;==&gt; x[y]
   |
   |  __getslice__(...)
   |      x.__getslice__(i, j) &lt;==&gt; x[i:j]
   |
   |      Use of negative indices is not supported.
   |
   |  __reduce__(...)
   |
   |  __repr__(...)
   |      x.__repr__() &lt;==&gt; repr(x)
   |
   |  __setattr__(...)
   |      x.__setattr__('name', value) &lt;==&gt; x.name = value
   |
   |  __setstate__(...)
   |
   |  __unicode__(...)
   |
   |  ----------------------------------------------------------------------
   |  Data descriptors inherited from exceptions.BaseException:
   |
   |  __dict__
   |
   |  args
   |
   |  message
  </code></pre>
  
  <p>That's a terrible amount of noise which is irrelevant to the documentation of the class. How do I suppress all that?</p>
  
  <p>[Edit]
  I'd like it to be more like what I'd get if the class wasn't inherited from Exception</p>
  
  <p>Like this :</p>
  
  <pre><code>class Test
   |  My Test class
   |
   |  Methods defined here:
   |
   |  __init__(self, param=None)
   |
   |  __str__(self)
   |
   |  foo(self)
   |      Perform a foo
  </code></pre>