<div class="gmail_quote">On 30 November 2011 18:23, Matthew Brett <span dir="ltr">&lt;<a href="mailto:matthew.brett@gmail.com">matthew.brett@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<div id=":3b">
For example, a new user of python 3 may (in IPython) start to believe<br>
that &#39;print foo&#39; is valid python.<br></div></blockquote><div><br>I think this is potentially the case with a lot of what IPython does (&#39;foo?&#39; introspection, magic calls, shell access), but with autocall, we make a point of displaying the rewritten form so it&#39;s obvious what&#39;s happened.<br>

<br>I realised I was wrong about attribute access on tab completion - a.&lt;tab&gt; won&#39;t actually access all attributes of a, although a.b.&lt;tab&gt; has to access a.b.<br><br>As a compromise, why don&#39;t we allow autocall of &quot;foo x&quot;, but not &quot;foo.bar x&quot; (unless autocall is set to 2)? This preserves the main uses of autocall (len, print in Python 3, etc.), without needing attribute access.<br>

<br>Thomas<br></div></div>