これについてはこれまで何度も議論されてきたことは知っていますが、「ボンネットの下」で何が起こっているのかについての説明はありませんでした。
コードの最後の行にコメントを入れるとエラーが発生する理由について、詳細な説明を提供できる人はいますか? その object.__init__ が引数を取らないことは知っていますが、行がコメントアウトされているときにコードが機能するのはなぜですか?
class A:
def __init__(self, a):
print("A constructor")
super().__init__(a)
self.a = a
print("A constructor end")
class B:
def __init__(self, b):
print("B constructor")
super().__init__()
self.b = b
print("B constructor end")
class C(A, B):
def __init__(self, x):
super().__init__(x)
c = C(42)
#a = A(33)