title: How should I understand the "Bunch class" in python?
body: <p>Today I have learnt a Bunch class from the book &lt; Python algorithm ></p>
  
  <pre><code>class Bunch(dict):
      def __init__(self, *args, **kwds):
          super(Bunch, self).__init__(*args, **kwds)
          self.__dict__ = self
  </code></pre>
  
  <p>But I'm not quite understanding what does the third line do:</p>
  
  <pre><code>super(Bunch, self).__init__(*args, **kwds)
  </code></pre>
  
  <p>I know it will call the parent class, and do something like:</p>
  
  <pre><code>dict.__init__(self, *args, **kwds)
  </code></pre>
  
  <p>But I have no idea what does the  __init__ function do to the dict.</p>
  
  <p>How should I understand that?</p>