class Test1: def __init__( self ): self.__test = 1 def getvalue( self ): return self.__test class Test2( Test1 ): def __init__( self ): T
This behaviour is due to the name mangling for attribute names starting with __. Basically, __test gets mangled to _Test1__test inside Test1 and to _Test2__test inside Test2, so they are two different attributes.
__test
_Test1__test
Test1
_Test2__test
Test2