Deimantinis uždavinys kyla, kai klasė paveldi iš dviejų klasių, kurios turi bendrą protėvį, sukurdama dviprasmybę: jei abi vidurinės klasės perrašo metodą (arba turi lauką), kurią versiją gauna žemesnė klasė?
Deimantis
A (defines greet())
/ \
B C (each may override greet())
\ /
D ← inherits from B and C: which greet()?
Python-e (kuris leidžia daugialypį paveldėjimą)
:
():
():
():
():
():
(B, C):
(D().greet())
(D.__mro__)
