Durante todo el tiempo que he estado usando:Python: ¿cuál es la mejor manera de llamar al método de superclase?
SuperClass.__init__(self, *args, **kwargs)
Mi razón es que esto demuestra explícitamente qué superclase se utiliza, sobre todo en el caso de la herencia múltiple.
Sin embargo, otros códigos me encontré con el uso
super(MyClass, self).__init__(*args, **kwargs)
lugar.
Esto podría llegar a ser ambiguo cuando se utiliza en:
class MyClass(SuperClass1, SuperClass2):
def __init__(self, *args, **kwargs):
super(MyClass, self).__init__(*args, **kwargs) #which SuperClass is being used?
me gustaría saber por qué esta forma de llama está ampliamente adoptado? ¿Alguna ventaja en absoluto?