Python id of name and '__main__' different
<p>Normally if I assign a variable some value, and then check their ids, I expect them to be the same, because python is essentially just giving my object a "name". This can be seen in the below code:</p>

<pre><code>&gt;&gt;&gt; a = 3
&gt;&gt;&gt; id(a)
19845928
&gt;&gt;&gt; id(3)
19845928
</code></pre>

<p>The problem is when I perform the same with "<strong>name</strong>"</p>

<pre><code>&gt;&gt;&gt; __name__
'__main__'
&gt;&gt;&gt; id(__name__)
19652416
&gt;&gt;&gt; id('__main__')
19652448
</code></pre>

<p>How can there ids be different, shouldn't they be the same? Because <code>__name__</code> should also be just a reference.</p>
