で複数の派生クラスの基本コンストラクターを呼び出すための正しい構文は何python3
ですか?
class A:
def __init__():
print("A")
class B:
def __init__():
print("B")
class C(A,B):
def __init__():
super().__init__() # ???
で複数の派生クラスの基本コンストラクターを呼び出すための正しい構文は何python3
ですか?
class A:
def __init__():
print("A")
class B:
def __init__():
print("B")
class C(A,B):
def __init__():
super().__init__() # ???
super
親クラスにも呼び出しを入れる必要があります。C
それがどのように機能するかは、のsuper
取得A
とA
のsuper
取得だと思いますB
class A:
def __init__(self):
super().__init__()
print("A")
class B:
def __init__(self):
super().__init__()
print("B")
class C(A,B):
def __init__(self):
super().__init__()
または、私が好むこの代替のより明示的な構文を使用します
class A:
def __init__(self):
print("A")
class B:
def __init__(self):
print("B")
class C(A,B):
def __init__(self):
A.__init__(self)
B.__init__(self)
これにより、クラスのオブジェクトでおよびクラスの__init__
メソッドが呼び出されます。A
B
C