The link to code is -
In this code, iter function is returning self . Please explain what is the purpose of this iter function and what does return self signifies. Also, in the next function, there is no while or for loop, so when we update self.i , why does if condition is checked again and again.