<br><br><div class="gmail_quote">On Thu, Jun 5, 2008 at 11:39 AM, Terry Reedy <<a href="mailto:tjreedy@udel.edu">tjreedy@udel.edu</a>> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="Ih2E3d"><br>
</div>If you want to access the attribute of a particular class, to read or<br>
write, use that class.<br>
   SomeClass.attr<br>
Note that no instance is required or relevant.<br>
<br>
If you want to read the attrubute of the class of an instance (or the first<br>
superclass with the attribute, whatever that class might be, use self.attr<br>
or self.__class__.attr.  (Use the latter if the instance has (or might<br>
have) an attribute of the same name).<br>
<br>
For setting an attribute, self.attr = x sets it on the instance while<br>
self.__class__.attr = x sets it on its class.<br>
<div><div></div><div class="Wj3C7c"><a href="http://mail.python.org/mailman/listinfo/python-list" target="_blank"></a><br>
</div></div></blockquote></div><br>So the key here is that obj.__class__.attr  will only access  the immediate child class name space, but SuperClass.attr will guarantee your are access the first super class namespace? If that is true, then the bug makes sense.<br>
<br>