<blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; ">
!for boo in foo:</blockquote><meta http-equiv="content-type" content="text/html; charset=utf-8"><span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 12.5px; border-collapse: collapse; "><blockquote>
   !if boo is !None:</blockquote><blockquote>       !print(hoo)</blockquote><blockquote>   !else:</blockquote><blockquote>       !return !sorted(woo)</blockquote></span><div><font class="Apple-style-span" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse; ">I feel most people could not bear such a difficult syntax. Why have I to type so much &#39;!&#39;s ?</span></font></div>
<div><font class="Apple-style-span" face="arial, sans-serif" size="4"><span class="Apple-style-span" style="border-collapse: collapse; font-size: 15px;"><br></span></font><br><div class="gmail_quote">On Thu, Jul 22, 2010 at 10:04 PM, Bartosz Tarnowski <span dir="ltr">&lt;<a href="mailto:bartosz-tarnowski@zlotniki.pl">bartosz-tarnowski@zlotniki.pl</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><br>
Hello, guys.<br>
<br>
Python has more and more reserved words over time. It becomes quite annoying, since you can not use variables and attributes of such names. Suppose I want to make an XML parser that reads a document and returns an object with attributes corresponding to XML element attributes:<br>

<br>
&gt; elem = parse_xml(&quot;&lt;element param=&#39;boo&#39;/&gt;&quot;)<br>
&gt; print elem.param<br>
boo<br>
<br>
What should I do then, when the attribute is a reserver word? I could use trailing underscore, but this is quite ugly and introduces ambiguity.<br>
<br>
&gt; elem = parse_xml(&quot;&lt;element for=&#39;each&#39;/&gt;&quot;)<br>
&gt; print elem.for_ #?????<br>
&gt; elem = parse_xml(&quot;&lt;element for_=&#39;each&#39;/&gt;&quot;)<br>
&gt; print elem.for__ #?????<br>
<br>
My proposal: let&#39;s make a syntax change.<br>
<br>
Let all reserved words be preceded with some symbol, i.e. &quot;!&quot; (exclamation mark). This goes also for standard library global identifiers.<br>
<br>
!for boo in foo:<br>
    !if boo is !None:<br>
        !print(hoo)<br>
    !else:<br>
        !return !sorted(woo)<br>
<br>
<br>
This would allow the user to declare any identifier with any name:<br>
<br>
for = with(return) + try<br>
<br>
What do you think of it? It is a major change, but I think Python needs it.<br><font color="#888888">
<br>
--<br>
haael<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="http://mail.python.org/mailman/listinfo/python-dev" target="_blank">http://mail.python.org/mailman/listinfo/python-dev</a><br>
Unsubscribe: <a href="http://mail.python.org/mailman/options/python-dev/ysj.ray%2Bpython-dev%40gmail.com" target="_blank">http://mail.python.org/mailman/options/python-dev/ysj.ray%2Bpython-dev%40gmail.com</a><br>
</font></blockquote></div><br><br clear="all"><br>-- <br>Ray Allen<br>Best wishes!<br>
</div>