How to override the doc of an object instance.

Paul McGuire ptmcg at austin.rr._bogus_.com
Wed Jun 21 11:00:00 EDT 2006


"David Huard" <david.huard at gmail.com> wrote in message
news:mailman.7313.1150898365.27775.python-list at python.org...
> On Wed, 21 Jun 2006 15:39:02 +0200, Maric Michaud wrote:
>
> > This is w.__class__.x.__doc__.
>
> Thanks,
>
> So in order to implement what I want, I should rather consider an
> ipython hack to print w.__class__.x.__doc__ when it exists, instead of
> w.x.__doc_ ? Does this makes sense or it will ruin the standard behaviour?
>
> David
>
No need to, just assign your special docstrings to w.x.__doc__, and print
w.x.__doc__.  Instances that have special docstrings will print their
instance-specific versions; instances without instance-specific docstrings
will print the class-level version.  See below.

-- Paul


>>> class W(object):
...   "Class-level docstring for W"
...   pass
...
>>> z = W()
>>> z.__doc__
'Class-level docstring for W'
>>> z.__doc__  = "instance-level docstring, just for z"
>>> z.__doc__
'instance-level docstring, just for z'
>>> zz = W()
>>> print zz.__doc__
Class-level docstring for W
>>> print z.__doc__
instance-level docstring, just for z







More information about the Python-list mailing list