[Python-3000] Fixing super anyone?
Jim Jewett
jimjjewett at gmail.com
Tue Apr 24 01:50:39 CEST 2007
On 4/23/07, Adam Olsen <rhamph at gmail.com> wrote:
> On 4/23/07, Phillip J. Eby <pje at telecommunity.com> wrote:
> > But I can't say I particularly like this idea, compared to "super.foo" or
> > even "super(self).foo". In fact, the latter invocation doesn't even
> > require a keyword -- it just means the compiler needs to include a cell
> > variable for the current class whenever it thinks you might be using super().
> +1 on super(self).foo. It's SomeLongClassName we want to get rid of, not self.
It won't normally be for an attribute. Typically, it would look like:
super(self).foo(arg1, arg2)
or even
super(self).foo()
I'm not sure that is much improvement over explicitly showing the
class, though it is certainly an improvement over using the
(rebindable) class name.
> As a bonus, super() and super(cls) have obvious semantics.
What would they be? Are you assuming that the two-argument forms
would go away? Or that the *first* positional argument could be
defaulted to __this_class__, but the second would be mandatory?
-jJ
More information about the Python-3000
mailing list