title: Which special methods bypasses __getattribute__ in Python?
body: <blockquote>
    <p>In addition to bypassing any instance attributes in the interest of correctness, implicit special method lookup generally also bypasses the <code>__getattribute__()</code> method even of the object’s metaclass.</p>
  </blockquote>
  
  <p><a href="http://docs.python.org/reference/datamodel.html#new-style-special-lookup" rel="nofollow noreferrer">The docs</a> mention special methods such as <code>__hash__</code>, <code>__repr__</code> and <code>__len__</code>, and I know from experience it also includes <code>__iter__</code> for Python 2.7.</p>
  
  <p>To quote <a href="https://stackoverflow.com/a/11360083/254704">an answer to a related question</a>:</p>
  
  <blockquote>
    <p>"Magic <code>__methods__()</code> are treated specially: They are internally assigned to "slots" in the type data structure to speed up their look-up, and they are only looked up in these slots."</p>
  </blockquote>
  
  <p>In a quest to improve my answer to <a href="https://stackoverflow.com/questions/12709194/the-proper-way-of-completely-overriding-attribute-access-in-python">another question</a>, I need to know: Which methods, specifically, are we talking about?</p>