[Python-Dev] Best way to specify docstrings for member objects
MRAB
python at mrabarnett.plus.com
Tue Mar 19 16:52:02 EDT 2019
On 2019-03-19 18:55, Raymond Hettinger wrote:
> I'm working on ways to make improve help() by giving docstrings to member objects.
>
> One way to do it is to wait until after the class definition and then make individual, direct assignments to __doc__ attributes.This way widely the separates docstrings from their initial __slots__ definition. Working downstream from the class definition feels awkward and doesn't look pretty.
>
> There's another way I would like to propose¹. The __slots__ definition already works with any iterable including a dictionary (the dict values are ignored), so we could use the values for the docstrings.
>
> This keeps all the relevant information in one place (much like we already do with property() objects). This way already works, we just need a few lines in pydoc to check to see if a dict if present. This way also looks pretty and doesn't feel awkward.
>
> I've included worked out examples below. What do you all think about the proposal?
>
[snip]
Thinking ahead, could there ever be anything else that you might want
also to attach to member objects?
I suppose that if that's ever the case, the value could itself be
expanded to be a dict, something like this:
__slots__ = {'mu' : {'__doc__': 'Arithmetic mean.'}, 'sigma':
{'__doc__': 'Standard deviation.'}}
But that could be left to the future...
More information about the Python-Dev
mailing list