dict.get () - arg padrão avaliado mesmo após sucesso

Por que é o padrão emdict.get(key[, default]) avaliado mesmo se a chave estiver no dicionário?

>>> key = 'foo'
>>> a={}
>>> b={key:'bar'}
>>> b.get(key, a[key])
Traceback (most recent call last):
  File "<pyshell#5>", line 1, in <module>
    b.get(key, a[key])
KeyError: 'foo'

questionAnswers(12)

yourAnswerToTheQuestion