Builtn super() function. How to use it with multiple inheritance? And why should I use it at all?
Ethan Furman
ethan at stoneleaf.us
Mon Aug 2 12:37:51 EDT 2010
More information about the Python-list mailing list
Mon Aug 2 12:37:51 EDT 2010
- Previous message (by thread): Builtn super() function. How to use it with multiple inheritance? And why should I use it at all?
- Next message (by thread): [RELEASED] Python 3.2 alpha 1
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
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~
- Previous message (by thread): Builtn super() function. How to use it with multiple inheritance? And why should I use it at all?
- Next message (by thread): [RELEASED] Python 3.2 alpha 1
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list