title: dict.get() - default arg evaluated even upon success
body: <p>Why is the default in <a href="http://docs.python.org/library/stdtypes.html#dict.get"><code>dict.get(key[, default])</code></a> evaluated even if the key is in the dictionary?</p>
  
  <pre><code>&gt;&gt;&gt; key = 'foo'
  &gt;&gt;&gt; a={}
  &gt;&gt;&gt; b={key:'bar'}
  &gt;&gt;&gt; b.get(key, a[key])
  Traceback (most recent call last):
    File "&lt;pyshell#5&gt;", line 1, in &lt;module&gt;
      b.get(key, a[key])
  KeyError: 'foo'
  </code></pre>