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
self
__iter__() is intended to return an iterator over the object. What is an iterator over an object that is already an iterator? self, of course.
__iter__()