title: Why is len() not implemented for Queues?
body: <p>The built-in function <code>len()</code> (<a href="https://docs.python.org/3/library/functions.html#len" rel="noreferrer">https://docs.python.org/3/library/functions.html#len</a>) returns "<em>the length (the number of items) of an object</em>", but this is not implemented for <code>queue.Queue</code> (<a href="https://docs.python.org/3/library/queue.html" rel="noreferrer">https://docs.python.org/3/library/queue.html</a>).
  Instead, <code>queue.Queue</code> has a <code>qsize()</code> method which returns the approximate size of a queue, when it clearly has a length; you can specify the maximum length of a <code>Queue</code> in the constructor. The similar <code>collections.deque</code> does work with <code>len</code>.</p>
  
  <p>What are the reasons for not using the common <code>len()</code> for <code>queue.Queue</code>? Or: What would be the problems if <code>qsize</code> were instead named <code>__len__</code> to enable the <code>len()</code> function?</p>