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