From: Ethan Furman on 2 Aug 2010 12:37 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 2 Aug 2010 12:53 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 2 Aug 2010 17:28 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.