Python super() weird

Content:

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
      P
Weird indeed.

Comments: