title: Passing arguments to super class __init__ in python
body: <p>Consider the following class:</p>
  
  <pre><code>class Car():
      def __init__(self, model):
          self.model = model
  </code></pre>
  
  <p>If I wanted to define specific models, I could do something like this:</p>
  
  <pre><code>class FordGT(Car):
      model = "Ford GT"
      def __init__(self):
          Car.__init__(self,self.model)
  </code></pre>
  
  <p>In that way, I could create a large amount of different car models. The only problem with doing this though, is that for every car model, I am repeating the <strong>init</strong> function.</p>
  
  <pre><code>def __init__(self):
      Car.__init__(self,self.model)
  </code></pre>
  
  <p>Code repetition to me is always a sign of bad code. How could I fix this? Is it possible to pass <strong>init</strong> arguments to the parent without using an <strong>init</strong> on a child?</p>