2017-12-26 13 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) 

私はCのオブジェクトをC(1,2)として呼び出しています。親クラス__init__と基本クラスの両方を呼び出す方法は?

これは、エラーがスローされます:

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

私はCの__init__から親クラスの__init__の両方を呼び出す方法を知っているかもしれませんか?

+0

私は先に行って、重複としてこれをマークし、トップの答えはあなたが解決しない場合ので、リンク先の記事は確かにするべきです。回答者はPython開発チームの主な貢献者ですので、これはかなり信頼できます:) –

答えて

-1

これを試してみてください:

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

これは動作しません。 – rachitmanit

+0

申し訳ありませんが、迅速な返信の間違いです。 – lpozo

関連する問題