title: What's the data type returned by dict.viewkeys()? [ python 2.7 ]
body: <p>I am studying <code>dict.viewkeys()</code> today, I found that my python calls it <code>dict_keys</code> object. And I can deal it as an iterable, but it's not a generator, because I can iterate over it more than once.</p>
  
  <p>By my limited knowledge, I know only a few data types such as String, int, float, list, dict, tuple, set.</p>
  
  <p>But yesterday I learned that <code>enumerate()</code> returns a special pair of data which can be used by <code>dict()</code> only once, thus it's a special tuple generator with <code>(index_of_iteration, item)</code> value</p>
  
  <p>Is this <code>dict_keys</code> object another "I don't know what it exactly is but I know how to use it" type of object in python, or something else?</p>