Content in Python names
<p>There is a lot of confusion with python names in the web and documentation doesn't seem to be that clear about names. Below are several things I read about python names.</p>

<ol>
<li><p>names are references to objects (where are they? heap?) and what name holds is an address. (like Java).</p></li>
<li><p>names in python are like C++ references ( int&amp; b) which means that it is another alias for a memory location; i.e. for <code>int a</code> , <code>a</code> is a memory location. if <code>int&amp; b = a</code> means that <code>b</code> is another name the for same memory location</p></li>
<li><p>names are very similar to automatically dereferenced pointers variables in C.</p></li>
</ol>

<p>Which of the above statements is/are correct?</p>

<p>Does Python names contain some kind of address in them or is it just a name to a memory location (like C++ <code>&amp;</code> references)? </p>

<p>Where are python names stored, Stack or heap?</p>

<p><code>EDIT</code>:</p>

<p>Check out the below lines from <a href="http://etutorials.org/Programming/Python.+Text+processing/Appendix+A.+A+Selective+and+Impressionistic+Short+Review+of+Python/A.2+Namespaces+and+Bindings/#" rel="nofollow">http://etutorials.org/Programming/Python.+Text+processing/Appendix+A.+A+Selective+and+Impressionistic+Short+Review+of+Python/A.2+Namespaces+and+Bindings/#</a></p>

<p>Whenever a (possibly qualified) name occurs on the right side of an assignment, or on a line by itself, the name is dereferenced to the object itself. If a name has not been bound inside some accessible scope, it cannot be dereferenced; attempting to do so raises a NameError exception. If the name is followed by left and right parentheses (possibly with comma-separated expressions between them), the object is invoked/called after it is dereferenced. Exactly what happens upon invocation can be controlled and overridden for Python objects; but in general, invoking a function or method runs some code, and invoking a class creates an instance. For example:</p>

<blockquote>
  <blockquote>
    <blockquote>
      <p>pkg.subpkg.func()   # invoke a function from a namespace</p>
      
      <p>x = y               # deref 'y' and bind same object to 'x'</p>
    </blockquote>
  </blockquote>
</blockquote>

<p>This makes sense.Just want to cross check how true it is.Comments and answers please</p>
