What is an iteration?
An iteration is a process of iterating through the loop. Basically, the python iterator is a type object that can be used with a for in loop. Python list, dict, tuples, and sets are the examples of the python iterators. Let us get more idea on an iteration with an example
Ex: a=['python ','online','training']for i in a:print(i)
In the above given example, a is an array consists of a series of elements. Now our aim is to print all the elements in the elements. This can be done with the variable i. Here the variable I is called the python iterator. Here we called the variable I as an iterator since it was iterated through an array .In simple words, an iterator is an element, that performs the iteration process.But in fact, if any object wants to be an iterator, it must implement the following methods :
At the time of initialization, an _iter_ method is called. Besides this _iter_ method should return the object that contains the next (or) _next_ method.
The next method should return the next variable value. On the iterator object, when an iterator is used within a ‘’for in”, the loop implicitly calls the next(). Besides this method should raise the stop iteration (). This indicates the end of the iteration.The syntax of the iterator object is shown below :while (condition)try:# To get the next itemelement = next(iter_obj)# perform some opexcept StopIteration:# At this point the loop terminates
Ex :class test:def __iter__(self):self.temp = 1return selfdef __next__(self):if self.temp <= 5:x = self.tempself.temp+= 1return xelse:raise StopIterationvar = test()myiter = iter(var)for x in myiter:print(x)OutPut :Note :There is no restriction of the iterators to be finite. i.e there can be situation ,where an iterator to be infinite. So the people must be careful while using iterators.The advantage of using iterators is that we can save resources like memory.As explained above, in iterators, we need to perform the two functions like iter() and next(). So implementing these two functions is lengthy. So we need an alternative to this concept.
To get in-depth knowledge on Python, you can enroll for live python online training by OnlineITGuru with 24/7 support and lifetime access