title: how to pass arguments efficiently (**kwargs in python)
body: <p>I have a class that inherits from 2 other classes. These are the base classes:</p>
  
  <pre><code>class FirstBase(object):
        def __init__(self, detail_text=desc, backed_object=backed_object,
                     window=window, droppable_zone_obj=droppable_zone_obj,
                     bound_zone_obj=bound_zone_object,
                     on_drag_opacity=on_drag_opacity):
            # bla bla bla
  
  class SecondBase(object):
        def __init__(self, size, texture, desc, backed_object, window):
            # bla bla bla
  </code></pre>
  
  <p>And this is the child:</p>
  
  <pre><code>class Child(FirstBase, SecondBase):
         """ this contructor doesnt work
         def __init__(self, **kwargs):
            # PROBLEM HERE
            #super(Child, self).__init__(**kwargs)
         """
         #have to do it this TERRIBLE WAY
         def __init__(self, size=(0,0), texture=None, desc="", backed_object=None,
                      window=None, droppable_zone_obj=[], bound_zone_object=[],
                      on_drag_opacity=1.0):
            FirstBase.__init__(self, detail_text=desc, backed_object=backed_object,
                               window=window, droppable_zone_obj=droppable_zone_obj,
                               bound_zone_obj=bound_zone_object,
                               on_drag_opacity=on_drag_opacity)
            SecondBase.__init__(self, size, texture, desc, backed_object, window)
  </code></pre>
  
  <p>I wanted to solve it all nicely with <code>**kwargs</code> but when I call the first commented out constructor I get <code>TypeError: __init__() got an unexpected keyword argument 'size'</code>.</p>
  
  <p>Any ideas how I can make it work with <code>**kwargs?</code></p>