<div dir="ltr"><br><br><div class="gmail_quote">On Wed, Aug 27, 2008 at 9:14 AM, Cesare Di Mauro <span dir="ltr">&lt;<a href="mailto:cesare.dimauro@a-tono.com">cesare.dimauro@a-tono.com</a>&gt;</span> 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><div></div><div class="Wj3C7c">On 27 agu 2008 at 08:46:15, Kilian Klimek &lt;<a href="mailto:kilian.klimek@googlemail.com">kilian.klimek@googlemail.com</a>&gt; wrote:<br>
<br>
&gt; Hello,<br>
&gt;<br>
&gt; i know this has been discusses very much, i&#39;m sorry,<br>
&gt; but i can&#39;t help it. In a nutshell, the proposal is as<br>
&gt; follows:<br>
&gt;<br>
&gt; 1. Self remains explicit (like it is now).<br>
&gt; 2. if a class is a subclass of a special class, e.g.<br>
&gt; &nbsp; &nbsp;named &#39;selfless&#39;, the self parameter is not required<br>
&gt; &nbsp; &nbsp;and a special variable, named &#39;this&#39; is provided.<br>
&gt;<br>
&gt;<br>
&gt; For example:<br>
&gt;<br>
&gt; class Foo (selfless):<br>
&gt; &nbsp; &nbsp; def __init__ (x, y):<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; this.x = x<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; ...<br>
&gt;<br>
&gt; A patch for 3.0b3 implementing this can be found at<br>
&gt; <a href="http://www-lehre.inf.uos.de/%7Ekklimek/misc/python_slp_8.diff" target="_blank">http://www-lehre.inf.uos.de/~kklimek/misc/python_slp_8.diff</a><br>
&gt;<br>
&gt; regards,<br>
&gt; Kilian Klimek<br>
&gt;<br>
<br>
</div></div>I disagree. From &quot;The Zen of Python&quot;:<br>
<br>
Explicit is better than implicit.</blockquote><div><br>no point in discussing this, but ...<br>&nbsp;<br></div><div>someone else emailed me this one too and i don&#39;t see the point: writing
down &#39;self&#39; as the first paramenter of your method does not make it any
more explicit what it means. (If you want to consider readability: even
worse, you can name it whatever you want).<br>
<br>
Saying &quot;your method must accept an extra parameter (which most people
call &#39;self&#39;) that carries all object attributes&quot; is hardly any more
explicit then saying &quot;there is a special variable (which is always
named &#39;this&#39;) that carries all object attributes&quot;.<br>&nbsp;</div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>
Readability counts.<br>
Special cases aren&#39;t special enough to break the rules.<br>
There should be one-- and preferably only one --obvious way to do it.<br>
<br>
Cheers,<br>
<font color="#888888">Cesare<br>
</font></blockquote></div><br></div>