What is a mapping object, according to dict type?
<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>