I just want to chip in that, as far as syntactic sugar go, `somedict:foo` looks better than `somedict..foo`.<br><br><div>2c...<br></div><div><br></div>~/santa<br>
<br><br><div class="gmail_quote">On Thu, Mar 24, 2011 at 4:40 AM, Jameson Quinn <span dir="ltr"><<a href="mailto:jameson.quinn@gmail.com">jameson.quinn@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

"class attrdict" is a perennial dead-end for intermediate pythonistas who want to save 3 characters/5 keystrokes for item access. Other languages such as javascript allow "somedict.foo" to mean the same as "somedict['foo']", so why not python? Well, there are a number of reasons why not, beginning with all the magic method names in python.<div>



<br></div><div>But saving keystrokes is still a reasonable goal.</div><div><br></div><div>So what about a compromise? Allow "somedict..foo", with two dots, to take that place. It still saves 2 characters (often 4 keystrokes; and I find even ', "[", or "]" harder to type than ".").</div>



<div><br></div><div>The "foo" part would of course have to obey attribute/identifier naming rules. So there would be no shortcut for "somedict['$#!%']". But for any identifier-legal foo, the interpreter would just read ..foo as ['foo'].</div>



<div><br></div><div>I would not be surprised if I'm not the first person to suggest this. If so, and there's already well-known reasons why this is a bad idea, I apologize. But if the only reason not to is "we never did it that way before" or "it would be too addictive, and so people would never want to use older python versions" or "headache for tools like pylint", I think we should do it.</div>



<br>_______________________________________________<br>
Python-Dev mailing list<br>
<a href="mailto:Python-Dev@python.org">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/santoso.wijaya%40gmail.com" target="_blank">http://mail.python.org/mailman/options/python-dev/santoso.wijaya%40gmail.com</a><br>
<br></blockquote></div><br>