[Python-3000] Removing __var
Bob Ippolito
bob at redivi.com
Fri Sep 22 20:31:16 CEST 2006
On 9/22/06, Thomas Heller <theller at python.net> wrote:
> Bob Ippolito schrieb:
> > On 9/22/06, Fred L. Drake, Jr. <fdrake at acm.org> wrote:
> >> On Friday 22 September 2006 13:05, Christian Tanzer wrote:
> >> > It is useful in some situations, though. In particular, I use a
> >> > metaclass that sets `__super` to the right value. This wouldn't work
> >> > without name mangling.
> >>
> >> This also doesn't work if two classes in the inheritance hierarchy have the
> >> same __name__, if I understand how you're using this. My guess is that
> >> you're using calls like
> >>
> >> def doSomething(self, arg):
> >> self.__super.doSomething(arg + 1)
> >
> > In the one or two situations where it "is useful" you could always
> > write out what it would've done.
> >
> > self._ThisClass__super.doSomething(arg + 1)
>
> It is much more verbose, though. The question is are you writing
> this more often, or are you introspecting more often?
The point is that legitimate __ usage is supposedly so rare that this
verbosity doesn't matter. If it's verbose, people definitely won't use
it until they need to, where right now people do it all the time cause
it's "private".
-bob
More information about the Python-3000
mailing list