title: What is a mapping object, according to dict type?
body: <p>The <a href="https://docs.python.org/2/library/stdtypes.html#dict" rel="noreferrer">documentation</a> lists 3 ways for creating a dict instance:</p>
  
  <pre><code>class dict(**kwarg)
  class dict(mapping, **kwarg)
  class dict(iterable, **kwarg)
  </code></pre>
  
  <p>What exactly is a <em>mapping</em> here?  What's the minimal interface required for <code>dict(mapping)</code> to work?</p>