An inheritance question: getting the name of the "one up" class

Gabriel Genellina gagsl-py2 at yahoo.com.ar
Tue Mar 31 11:48:35 EDT 2009


En Tue, 31 Mar 2009 05:16:47 -0300, Steven D'Aprano  
<steven at remove.this.cybersource.com.au> escribió:

> On Tue, 31 Mar 2009 01:29:50 -0300, Gabriel Genellina wrote:
>
>>> Oh, and while the gurus are at it, what would be the advantage (if any)
>>> of changing, say
>>>    Primate.__init__(self)
>>> to
>>>     super(Human, self).__init__()
>>
>> None, if you use single inheritance everywhere.
>
> But there's no disadvantage to using super with single inheritance (and
> new-style classes).

It's ok *if* you follow the guidelines at the end of the "harmful"  
document.

>> super is very tricky; see:
>> http://fuhm.net/super-harmful/
>> and
>> http://www.artima.com/weblogs/viewpost.jsp?thread=236275
>
> As I understand it, the trickiness only comes about when you have diamond
> diagrams in your MRO.

With multiple inheritance, you *always* have a diamond diagram - every  
class inherits from object.

-- 
Gabriel Genellina




More information about the Python-list mailing list