title: How to get different documentation on help() for different objects in python
body: <p>I have a class with help message, which should depends on input argument for <code>__init__</code>, e.g.:</p>
  <pre class="lang-py prettyprint-override"><code>class A:
      '''
      {}
      '''
      def __init__(self, x):
          A.__doc__ = A.__doc__.format(x)
  </code></pre>
  <p>But when I run</p>
  <pre class="lang-py prettyprint-override"><code>x = A(&quot;xxxxx&quot;)
  y = A(&quot;yyyyy&quot;)
  help(x)
  help(y)
  </code></pre>
  <p>I get the same messages for both <code>help()</code> calls:</p>
  <pre><code>Help on A in module __main__ object:
  
  class A(builtins.object)
   |  xxxxx
   |
  :
  </code></pre>
  <p>Is there a way to create different documentation for different objects?</p>