That's actually precisely what I'd like.  So, what are metaclass conflicts?

Martin

Am Dienstag, 8. November 2016 12:37:20 UTC+1 schrieb Erik Bray:
>
> On Tue, Nov 8, 2016 at 8:58 AM, 'Martin R' via sage-devel 
> <sage-...@googlegroups.com <javascript:>> wrote: 
> > Thanks for these hints!  I'm afraid that I still have to go with 
> Jeroen's 
> > solution, because I'd like to have different descriptions of the class, 
> only 
> > what's displayed as "Init docstring" should be kept. 
> > 
> > It's actually strange that non-present docstrings of methods which are 
> > overwritten are not taken from the parent class. 
>
> It is an annoyance.  I think I asked Python-dev about this once 
> before, and there was a reason for it, but I don't remember what the 
> explanation was. 
>
> I didn't mean to keep tossing out links to stuff in Astropy, but there 
> is a workaround for this: 
>
>
> http://docs.astropy.org/en/stable/api/astropy.utils.misc.InheritDocstrings.html
>  
>
> If you use the InheritDocstrings metaclass then your class will do 
> just this.  Just be aware that if you use a metaclass you have to be 
> aware of the downsides to that (namely metaclass conflicts in 
> inheritance). 
>
> > Am Montag, 7. November 2016 16:04:07 UTC+1 schrieb Travis Scrimshaw: 
> >> 
> >> 
> >> 
> >> On Monday, November 7, 2016 at 7:26:57 AM UTC-6, Jeroen Demeyer wrote: 
> >>> 
> >>> On 2016-11-07 14:13, 'Martin R' via sage-devel wrote: 
> >>> > I would like that these subclasses inherit the docstring of 
> >>> > GrowthDiagram.__init__ (and a few other methods), but I do not know 
> how 
> >>> > to achieve this. 
> >>> 
> >>> sage: class B(A): 
> >>> ....:     def __init__(self): 
> >>> ....:         pass 
> >>> ....:     __init__.__doc__ = A.__init__.__doc__ 
> >>> 
> >> 
> >> IIRC, another option would be to put it in the class-level doc, which 
> is 
> >> automatically passed down provided the subclass doesn't do its own 
> >> class-level doc. 
> >> 
> > 
> > -- 
> > You received this message because you are subscribed to the Google 
> Groups 
> > "sage-devel" group. 
> > To unsubscribe from this group and stop receiving emails from it, send 
> an 
> > email to sage-devel+...@googlegroups.com <javascript:>. 
> > To post to this group, send email to sage-...@googlegroups.com 
> <javascript:>. 
> > Visit this group at https://groups.google.com/group/sage-devel. 
> > For more options, visit https://groups.google.com/d/optout. 
>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to