class A:
    def __init__(self):
        print("Hello A:{}".format(self))

    def somefunc(self):
        print("A Something!")
        super().somefunc()

class B:
    def __init__(self):
        print("Hello B:{}".format(self))

    def somefunc(self):
        print("B Something!")
        try:
            super().somefunc()
        except AttributeError:
            print("End of MRO chain")

class C(A,B):
     pass

class D(B,A):
     pass


xx=C()
xx.somefunc()
D().somefunc()