base classes

Pete pete at ipartners.pl
Wed Aug 22 07:23:58 EDT 2001


One question about classes. I have two classes, both have attribute called
'a'
class a1:
    def __init__( self ):
        self.a = 1
class a2:
    def __init__( self ):
        self.a = 2
class aa( a1, a2 ):
    def __init__( self ):
        a1.__init__( self )
        a2.__init__( self )

AA = aa()
print AA.__dict__
--------------------------------------
this code prints:
{'a': 2}

but if I change self.a to self.a_ in class a1:
class a1:
    def __init__( self ):
        self.a_ = 1
class a2:
    def __init__( self ):
        self.a = 2
class aa( a1, a2 ):
    def __init__( self ):
        a1.__init__( self )
        a2.__init__( self )

AA = aa()
print AA.__dict__
------------------------------------------
I got:
{'a_': 1, 'a': 2}

The question is: cannot 2 base classes have the same attributes? What is
workaround?

Pete





More information about the Python-list mailing list