Steve Holden <[EMAIL PROTECTED]> writes:
> >> class A(B):
> >>    def bar(self):
> >>      self.__x = 5   # clobbers private variable of earlier class named A
> > Has this ever been reported as a bug in Python? I could imagine more
> > sophisticated "name mangling": something to do with the identity of the
> > class might be sufficient, although that would make the tolerated
> > "subversive" access to private attributes rather difficult.
> >
> It would also force the mangling to take place at run-time, which
> would probably affect efficiently pretty adversely (thinks: should
> really check that mangling is a static mechanism before posting this).

I think it could still be done statically.  For example, the mangling
could include a random number created at compile time when the class
definition is compiled, that would also get stored in the class object.

I guess there are other ways to create classes than class statements
and those would have to be addressed too.
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to