title: Python method dir() does not return all attributes/methods
body: <p>I have this piece of code (from Dive in Python 3):</p>
  
  <pre><code>&gt;&gt;&gt; import xml.etree.ElementTree as etree
  &gt;&gt;&gt; tree = etree.parse("feed.xml")
  &gt;&gt;&gt; root = tree.getroot()
  &gt;&gt;&gt; print(dir(root))
  ['__class__', '__copy__', '__deepcopy__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getstate__', '__gt__', '__hash__', '__init__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__setitem__', '__setstate__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'extend', 'find', 'findall', 'findtext', 'get', 'getchildren', 'getiterator', 'insert', 'items', 'iter', 'iterfind', 'itertext', 'keys', 'makeelement', 'remove', 'set']
  &gt;&gt;&gt;
  </code></pre>
  
  <p>Several attributes are missing from the list, notably "tag", "text", "attrib", etc.</p>
  
  <p>Why is this? How can I reliably get the complete list of attributes and methods from an objects?</p>
  
  <p>Thanks </p>