<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On 20 June 2015 at 18:39, Ron Adam <span dir="ltr"><<a href="mailto:ron3200@gmail.com" target="_blank">ron3200@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class=""><br>
<br>
On 06/20/2015 12:12 PM, Ron Adam wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
<br>
On 06/20/2015 02:51 AM, Ivan Levkivskyi wrote:<br>
</blockquote>
<br>
</span><span class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Guido said 13 years ago that this behavior should not be changed:<br>
<a href="https://mail.python.org/pipermail/python-dev/2002-April/023428.html" rel="noreferrer" target="_blank">https://mail.python.org/pipermail/python-dev/2002-April/023428.html</a>,<br>
however, things changed a bit in Python 3.4 with the introduction of the<br>
LOAD_CLASSDEREF opcode. I just wanted to double-check whether it is still a<br>
desired/expected behavior.<br>
</blockquote></blockquote>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Guido's comment still stands as far as references inside methods work in<br>
regards to the class body. (they must use a self name to access the class<br>
name space.) But the execution of the class body does use lexical scope,<br>
otherwise it would print xtop instead of xlocal here.<br>
</blockquote>
<br></span>
Minor corrections:<br>
<br>
Methods can access but not write to the class scope without using self.  So that is also equivalent to the function version using type().  The methods capture the closure they were defined in, which is interesting.<br>
<br>
And the self name refers to the object's names space not the class name space.</blockquote><div><br></div><div>It is still not clear whether Guido's comment still stands for not raising an UnboundLocalError in class definitions but using globals instead.<br></div><div>This is the only questionable point for me currently.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5"><br>
<br>
_______________________________________________<br>
Python-Dev mailing list<br>
<a href="mailto:Python-Dev@python.org" target="_blank">Python-Dev@python.org</a><br>
<a href="https://mail.python.org/mailman/listinfo/python-dev" rel="noreferrer" target="_blank">https://mail.python.org/mailman/listinfo/python-dev</a><br>
Unsubscribe: <a href="https://mail.python.org/mailman/options/python-dev/levkivskyi%40gmail.com" rel="noreferrer" target="_blank">https://mail.python.org/mailman/options/python-dev/levkivskyi%40gmail.com</a><br>
</div></div></blockquote></div><br></div></div>