report at bugs
Aug 7, 2012, 7:52 PM
Post #1 of 3
New submission from Nick Coghlan:
[issue15582] Enhance inspect.getdoc to follow inheritance chains
Currently, if you override a method from a base class, the docstring is not inherited, even if it remains accurate.
This issue proposes an enhancement to inspect.getdoc() that allows the docstring to be retrieved from the inheritance hierarchy in the case where it is not overridden in the subclass by providing an explicit docstring.
Specifically, in the case where obj.__doc__ is None, and either the first parameter is a bound method, or a class object is passed in as the second parameter, inspect.getdoc will search the MRO based on obj.__name__ until it finds an attribute with a non-None __doc__ value.
(In Python 2, this could have been automatic for both bound and unbound methods. Unfortunately, there are no unbound methods in Python 3, so the second parameter is needed to handle the unbound method case)
components: Library (Lib)
nosy: eric.snow, ncoghlan
stage: needs patch
title: Enhance inspect.getdoc to follow inheritance chains
versions: Python 3.4
Python tracker <report [at] bugs>
Python-bugs-list mailing list