Fredrik Lundh wrote: > [EMAIL PROTECTED] wrote: > > > Now, 'i' might have already been defined by A or by the call to > > A.__init__() so if you define it without knowing that, you could be > > changing the behavior of A's methods in unknown ways, which is > > obviously a bad thing. > > http://docs.python.org/tut/node11.html#SECTION0011600000000000000000 > > </F>
I see. Thanks for the link. So putting two underscores in front of an instance variable (or any identifier used inside the scope of a class statement) invokes a name mangling mechanism ( __x becomes __classname_x internally) so the following would not result in any conflicts class A: def __init__(self): self.__i= 0 class B(A): def __init__(self): A.__init__(self) self.__i= 1 Is it commonplace to use underscores when defining derived class instance variables, or is this considered against the grain of python? Chris Marshall -- http://mail.python.org/mailman/listinfo/python-list