From: Ethan Furman on
Steven D'Aprano wrote:
> On Sat, 31 Jul 2010 13:29:25 +0000, Brian Victor wrote:
>
>> Steven D'Aprano wrote:
>>> On Sat, 31 Jul 2010 14:25:39 +1200, Gregory Ewing wrote:
>>>
>>>> Steven D'Aprano wrote:
>>>>
>>>>> A
>>>>> / \
>>>>> C B
>>>>> \ /
>>>>> D
>>>>> / \
>>>>> E F
>>>>>
>>>>> Yes, a super call might jog left from C to B, but only when being
>>>>> called from one of the lower classes D-F. That's still an upwards
>>>>> call relative to the originator, not sidewards.
>>>> But it's not an upward call relative to the class mentioned in the
>>>> super() call, which is why I say it's misleading.
>>> Which class would that be?
>>>
>>> I think I'm going to need an example that demonstrates what you mean,
>>> because I can't make heads or tails of it. Are you suggesting that a
>>> call to super(C, self).method() from within C might call
>>> B.method(self)?
>> Yes, it would.
> [snip example]
>
> Right, now I see what you mean. I don't have a problem with that
> behaviour, it is the correct behaviour, and you are making the call from
> D in the first place, so it *must* call B at some point.
>
> If you initiate the call from C instead:
[snip]

I think the point is that when D initiates the super() chain, and C
calls super, B will then get its turn -- which has to seem arbitrary
from C's point of view.

~Ethan~
From: donn on
On 02/08/2010 17:35, Mark Lawrence wrote:
> aka the colon. :)
Ha. This is a case of the colon being the appendix!

\d
From: Mark Lawrence on
On 02/08/2010 17:53, donn wrote:
> On 02/08/2010 17:35, Mark Lawrence wrote:
>> aka the colon. :)
> Ha. This is a case of the colon being the appendix!
>
> \d
Is there a better newsgroup in the world than c.l.py? No!

Kindest regards.

Mark Lawrence.