Como evitar a recursão infinita com super ()?

Eu tenho um código como este:

class A(object):
    def __init__(self):
          self.a = 1

class B(A):
    def __init__(self):
        self.b = 2
        super(self.__class__, self).__init__()

class C(B):
    def __init__(self):
        self.c = 3
        super(self.__class__, self).__init__()

Instanciar B funciona conforme o esperado, mas instanciar C se repetiu infinitamente e causa um estouro de pilha. Como posso resolver isso?

questionAnswers(1)

yourAnswerToTheQuestion