<br><br><div><span class="gmail_quote">On 9/4/07, <b class="gmail_sendername">Thomas Heller</b> &lt;<a href="mailto:theller@ctypes.org">theller@ctypes.org</a>&gt; wrote:</span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Shouldn&#39;t the __getattr__ implementation find the __iter__ method<br>of the _stream instance variable?</blockquote><div><br>No. For new-style classes, the special methods (that are part of the PyType C struct) are always looked up on the class, never the instance. The class&#39;s __getattr__ is never called. It&#39;s the class that defines behaviour, and __getattr__ and __getattribute__ just define how to handle *instance* attribute access.
<br><br>This change is really the biggest difference between classic classes and new-style classes, much bigger than the MRO change ;-)<br></div></div><br>-- <br>Thomas Wouters &lt;<a href="mailto:thomas@python.org">thomas@python.org
</a>&gt;<br><br>Hi! I&#39;m a .signature virus! copy me into your .signature file to help me spread!