1"""
2categories: Core,Classes
3description: When inheriting from multiple classes super() only calls one class
4cause: See :ref:`cpydiff_core_class_mro`
5workaround: See :ref:`cpydiff_core_class_mro`
6"""
7
8
9class A:
10    def __init__(self):
11        print("A.__init__")
12
13
14class B(A):
15    def __init__(self):
16        print("B.__init__")
17        super().__init__()
18
19
20class C(A):
21    def __init__(self):
22        print("C.__init__")
23        super().__init__()
24
25
26class D(B, C):
27    def __init__(self):
28        print("D.__init__")
29        super().__init__()
30
31
32D()
33