title: Explaining get() method with **kwargs?
body: <p>Trying to figure out how this code is working.</p>
  
  <p>I understand that <code>**kwargs</code> returns a dictionary and the <code>get()</code> function searches the dict for a given key and returns a default value if not found.
  However in the code I don't understand is if the <code>get()</code> method is searching for example: "clock" or self.clock or both. </p>
  
  <pre><code>def update(self, *args, **kwargs):
      self.screen = kwargs.get("screen",self.screen)
      self.clock = kwargs.get("clock",self.clock)
      self.active = kwargs.get("active",self.active)
  </code></pre>
  
  <p>Here is an example call to this method:</p>
  
  <pre><code>debug.update(active = numActive)
  </code></pre>
  
  <p>From my understanding, the variable <code>numActive</code> is passed through the update method as active and then as <code>**kwargs</code> which is then searched for via the <code>get()</code> method. Couldn't I just remove the use of <code>kwargs</code> seeing as I know how many parameters are needed?</p>
  
  <p>Any help with understanding is appreciated.</p>