<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Le 05/02/2012 16:33, yoav glazner a écrit :
    <blockquote
cite="mid:CAJ78kjMiHSY437dbyXvwhwas5x0k_vz-2=WvU0RM39YMmaxLBg@mail.gmail.com"
      type="cite">
      <div class="moz-text-html" lang="x-western">
        <div dir="ltr">
          <div class="gmail_quote">
            <blockquote class="gmail_quote" style="margin:0 0 0
              .8ex;border-left:1px #ccc solid;padding-left:1ex">
              <div class="im"><br>
              </div>
              >>> class proxy:<br>
              ...   def __init__(self, orig):<br>
              ...     self._orig = orig<br>
              ...   def __getitem__(self, attr):<br>
              ...     return getattr(self._orig,attr)<br>
              ...<br>
              >>> class A:<br>
              ...   def __getattr__(self, name):<br>
              ...     return len(name)<br>
              ...<br>
              >>> a = A()<br>
              >>> proxy(a)['hello']<br>
              5<br>
              >>><br>
              <br>
              Extending the proxy class to include setting, deleting,
              and various<br>
              corner cases, is left as an exercise for the reader :-)</blockquote>
            <div><br>
            </div>
            <div>>>> proxy(a).keys()</div>
            <div>?!?</div>
          </div>
        </div>
      </div>
    </blockquote>
    <br>
    Hi,<br>
    <br>
    +1 on extending vars(). I like this idea much more than adding
    syntax.<br>
    <br>
    In this case, proxy(a).key() would be based on dir(a) (or something
    similar) and have the same (documented) limitations. I think this is
    acceptable, and the proxy object is still useful.<br>
    <br>
    Regards,<br>
    <pre class="moz-signature" cols="72">-- 
Simon Sapin</pre>
  </body>
</html>