title: Why is iter not a method of an instance and __iter__ is?
body: <p>The "intuitive" way of getting an iterator for someone who usually programs in Java, C++, etc is something like <code>list.iterator()</code>. </p>
  
  <p>Why did the Python folks choose to have it as a general function like <code>len()</code> (which results in <code>iter(list)</code> rather than <code>list.iter()</code>)?</p>
  
  <p>The same question can be asked for the length of a construct as well (<code>len()</code>). </p>