Software engineering facts, information, and skills from June, 2019
An object representing a stream of data. Repeated calls to the iterator’s
__next__() method (or passing it to the built-in function
next()) return successive items in the stream. When no more data are available a StopIteration exception is raised instead. At this point, the iterator object is exhausted and any further calls to its
__next__() method just raise StopIteration again. Iterators are required to have an
__iter__() method that returns the iterator object itself so every iterator is also iterable and may be used in most places where other iterables are accepted. One notable exception is code which attempts multiple iteration passes. A container object (such as a list) produces a fresh new iterator each time you pass it to the
iter() function or use it in a for loop. Attempting this with an iterator will just return the same exhausted iterator object used in the previous iteration pass, making it appear like an empty container.
__str__ are used to represent objects in different ways.The default implementation of
__repr__ for a str value can be called as an argument to eval, and the return value would be a valid string object.
We take the vision which comes from dreams and apply the magic of science and mathematics, adding the heritage of our profession and our knowledge to create a design.