Почему потомок не может увидеть свойство родителя?
class A():
def __init__(self, a):
self.a = a
class B():
def __init__(self):
self.val = 10
class C(A, B):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
obj_C = C(55)
print(obj_C.val)
Ошибка:
AttributeError: 'C' object has no attribute 'val'
Неужели единственный способ - это явно указать наследование:
class C(A, B):
def __init__(self, *args, **kwargs):
A.__init__(self, *args, **kwargs)
B.__init__(self)