Original link: I Just Discovered Python’s super() Works Differently Than I Thought / Medium / Kiran Maan.
I have a different code to illustrate:
class P:
def test(self, ind):
print(ind + 'P')
class C1(P):
def test(self, ind):
print(ind + 'C1')
super().test(ind + ' ')
class C2(P):
def test(self, ind):
print(ind + 'C2')
super().test(ind + ' ')
class GC(C1, C2):
def test(self, ind):
print(ind + 'GC')
super().test(ind + ' ')
o = GC()
o.test('')
output:
GC C1 C2 PWeird indeed.