@victor-oparaugo Please mention the group you are referring to. If you are not clear about what you are saying and asking people to contact you to get information, personally I would consider you a scammer as well.
An iterator is just a fancy-sounding term for an object that has a next() method. So a yield-ed function ends up being something like this:
for i in xrange(4):
for i in some_function():
This is basically what the Python interpreter does with the above code:
# Start at -1 so that we get 0 when we add 1 below.
self.count = -1
# The __iter__ method will be called once by the 'for' loop.
# The rest of the magic happens on the object returned by this method.
# In this case it is the object itself.
# The next method will be called repeatedly by the 'for' loop
# until it raises StopIteration.
self.count += 1
if self.count < 4:
# A StopIteration exception is raised
# to signal that the iterator is done.
# This is caught implicitly by the 'for' loop.
for i in some_func():
For more insight as to what's happening behind the scenes, the for loop can be rewritten to this: