yield
Mark Borgerding
mborgerding at cinci.rr.com
Sat Jan 17 14:27:19 EST 2004
km wrote:
> Hi all,
>
> i didnt understand the purpose of 'yield' keyword and the concept of 'generators' in python. can someone explain me with a small example how generators differ from normal function calls?
> kindly enlighten
> regards,
> KM
>
I think of it as an "interrupt" that provides a value back to the caller
for each value in a sequence. It can also be loosely thought of as an
iterator(sort of).
Here's an example that may (or may not) help:
def foo():
print 'entering foo function'
for i in range(3):
print 'yielding %s' % i
yield i
print 'leaving foo function'
for x in foo():
print 'x is %s' % x
################
prints out the following:
entering foo function
yielding 0
x is 0
yielding 1
x is 1
yielding 2
x is 2
leaving foo function
More information about the Python-list
mailing list