title: What are dict_keys, dict_items and dict_values?
body: <p>I came across these three types when I used <code>collections.Counter</code>'s viewkeys(), viewitems() and viewvalues() methods.</p>
  
  <p>The values those three methods returned are of types <code>dict_keys</code>, <code>dict_items</code> and <code>dict_values</code>.</p>
  
  <p>They are iterable, as I have noticed. </p>
  
  <p>But my question is, why do these three types exist? Or what's their usage?</p>