How to call Base Class's init method from the child class?

If I have a python class as:

    class BaseClass(object):
    #code and the init function of the base class

And then I define a child class such as:

    class ChildClass(BaseClass):
    #here I want to call the init function of the base class

If the init function of the base class takes some arguments that I am taking them as arguments of the child class's init function, how do I pass these arguments to the base class?

The code that I have written is:

    class Car(object):
        condition = "new"

        def __init__(self, model, color, mpg):
            self.model = model
            self.color = color
            self.mpg   = mpg

    class ElectricCar(Car):
        def __init__(self, battery_type, model, color, mpg):
            self.battery_type=battery_type
            super(ElectricCar, self).__init__(model, color, mpg)

Where am I going wrong?

You could use super(ChildClass, self).__init__()

    class BaseClass(object):
        def __init__(self, *args, **kwargs):
            pass

    class ChildClass(BaseClass):
        def __init__(self, *args, **kwargs):
            super(ChildClass, self).__init__(*args, **kwargs)

Your indentation is incorrect, here's the modified code:

    class Car(object):
        condition = "new"

        def __init__(self, model, color, mpg):
            self.model = model
            self.color = color
            self.mpg   = mpg

    class ElectricCar(Car):
        def __init__(self, battery_type, model, color, mpg):
            self.battery_type=battery_type
            super(ElectricCar, self).__init__(model, color, mpg)

    car = ElectricCar('battery', 'ford', 'golden', 10)
    print car.__dict__

Here's the output:

    {'color': 'golden', 'mpg': 10, 'model': 'ford', 'battery_type': 'battery'}

From: stackoverflow.com/q/19205916