<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#ffffff">
    <br>
    On 03/03/2011 05:59 PM, Raymond Hettinger discussed a possible
    language change (but later made it clear he wasn't actually
    proposing it):
    <blockquote
      cite="mid:32506B21-8CED-421F-8BC9-2228AA6BFFB5@gmail.com"
      type="cite">If there were going to be only one syntax change for
      Python 3.3, why not use it for something that adds a lot more
      expressive power:
      <div><br>
      </div>
      <div>    x = a!name      #  x = getattr(a, name)</div>
      <div><br>
      </div>
      <div>That bit of syntactic sugar might greatly expand our minds
        when it comes to dynamically creating and accessing attributes.<br>
      </div>
    </blockquote>
    <br>
    We ran that up the ol' flagpole back in February 2007:<br>
    <blockquote><a
href="http://mail.python.org/pipermail/python-dev/2007-February/071040.html">http://mail.python.org/pipermail/python-dev/2007-February/071040.html</a></blockquote>
    It was ultimately rejected:<br>
    <blockquote><a
href="http://mail.python.org/pipermail/python-dev/2007-February/071107.html">http://mail.python.org/pipermail/python-dev/2007-February/071107.html</a></blockquote>
    Dynamic attribute access is rare in real-world code.  So folks who
    need it are currently well-served by getattr().  I think it's a bad
    idea to add new syntax that adds no new functionality and which we
    already know will be rarely used.  Why manufacture dusty corners of
    the language?<br>
    <br>
    If one felt getattr() was too clumsy or ugly, one could use the
    attrview() class as proposed in that thread:<br>
    <blockquote>aview = attrview(a)<br>
      aview[name] # getattr(a, name)<br>
    </blockquote>
    That's very pretty and requires no new syntax.<br>
    <br>
    As Raymond himself said just a few messages ago:<br>
    <blockquote type="cite">
      <pre wrap="">If you're going to change the language syntax, make it count and do something cool :-)</pre>
    </blockquote>
    <br>
    <br>
    /larry/<br>
  </body>
</html>