2017-12-26 2 views
0
class A(object): 
    def __init__(self, id): 
     print("in A") 


class B(object): 
    def __init__(self, id1, id2): 
     print("In B") 

class C(A,B): 
    def __init__(self, id1, id2): 
     super(C, self).__init__(id1) 
     super(C,self).__init__(id1,id2) 

Ich rufe Cs Objekt als C (1,2).Wie Sie beide Elternklasse __init__ von der Basisklasse aufrufen?

Es wirft Fehler:

TypeError: __init__() takes exactly 2 arguments (3 given) 

Kann ich weiß, wie beide Elternklasse nennen __init__ von C des __init__?

+0

Ich ging weiter und markiert diese als Duplikat, weil, wenn die Top-Antwort gibt Ihnen nicht helfen, die verlinkten Artikel sicherlich sollte. Beachten Sie, dass die antwortende Person einen wichtigen Beitrag zum Python-Entwicklerteam leistet. Dies ist also ziemlich autoritativ :) –

Antwort

-1

Try this:

class C(A, B): 
    def __init__(self, id1, id2): 
     A.__init__(self, id1) 
     B.__init__(self, id1, id2) 
+0

dies funktioniert nicht. – rachitmanit

+0

Sorry, schnelle Antwortfehler. – lpozo

Verwandte Themen