Thanks, I'll try that.
Philippe Ben Cartwright wrote: > Philippe Martin wrote: >> I have something like this: >> >> Class A: >> def A_Func(self, p_param): >> ..... >> Class B: >> def A_Func(self): >> ..... >> >> Class C (A,B): >> A.__init__(self) >> B.__init__(self) >> >> ..... >> >> self.A_Func() #HERE I GET AN EXCEPTION "... takes at least 2 >> arguments (1 >> given). >> >> >> I renamed A_Func(self) to fix that ... but is there a cleaner way around >> ? > > When using multiple inheritence, the order of the base classes matters! > E.g.: > > class A(object): > def f(self): > print 'in A.f()' > class B(object): > def f(self): > print 'in B.f()' > class X(A, B): > pass > class Y(B, A): > pass > > >>> x = X() > >>> x.f() > in A.f() > >>> y = Y() > >>> y.f() > in B.f() > > If you want to call B.f() instead of A.f() for an X instance, you can > either rename B.f() like you've done, or do this: > > >>> B.f(x) > in B.f() > > --Ben -- http://mail.python.org/mailman/listinfo/python-list