title: Forwarding __getitem__ to getattr
body: <p>Can someone explain what is happening here?</p>
  
  <pre><code>class Test(object):
      __getitem__ = getattr
  
  t = Test()
  t['foo']
  </code></pre>
  
  <p>gives error (in Python 2.7 and 3.1):</p>
  
  <pre><code>TypeError: getattr expected at least 2 arguments, got 1
  </code></pre>
  
  <p>whereas:</p>
  
  <pre><code>def f(*params):
       print params    # or print(params) in 3.1
  
  class Test(object):
      __getitem__ = f
  </code></pre>
  
  <p>prints the two parameters I'd expect.</p>