Understanding this generator function

Hussein B hubaghdadi at gmail.com
Wed Aug 27 06:09:58 EDT 2008


Hey,
This is an example of a generator function:
=====
def counter(start_at=0):
    count = start_at
    while True:
        val = (yield count)
        if val is not None:
            count = val
        else:
            count += 1
======
>>> count = counter(5)
>>> count.next()
5
>>> count.send(9)
9
======
I'm not able to understand how this generator function is working,
would you please me (what happens when calling next/send)?
Thanks.



More information about the Python-list mailing list