I understand that the standard says that it does but I am trying to find the underlying reason for this.
If it simply always returns self
what is the ne
It's so for
loops and other code that needs to work with iterables can unconditionally call iter
on the thing they're iterating over, rather than treating iterators and other iterables separately. In particular, non-iterators might reasonably have a method called next
, and we want to be able to distinguish them from iterators.