title: How to make a dictionary that returns key for keys missing from the dictionary instead of raising KeyError?
body: <p>I want to create a python dictionary that returns me the key value for the keys are missing from the dictionary.</p>
  
  <p>Usage example:</p>
  
  <pre><code>dic = smart_dict()
  dic['a'] = 'one a'
  print(dic['a'])
  # &gt;&gt;&gt; one a
  print(dic['b'])
  # &gt;&gt;&gt; b
  </code></pre>