What's the difference between super() and Parent class name?
Is there a difference between using super() and using the parent class name directly? For example: class Parent: def __init__(self): print("In parent") self.__a=10 class Child(Parent): def __init__(self): super().__init__() # using super() Parent.__init__(self) # using Parent class name c=Child() Is there internally a difference between super().__init__() and Parent.__init__(self) ? Willem Van Onsem Not in this case . But in general , and especially when you use multiple inheritance , super() delegates to the next object in the Method Resolution Order (MRO) as is specified in the documentation