14d28be344
Otherwise, some generator statements still may be spuriously executed on subsequent calls to next()/send().
38 lines
504 B
Python
38 lines
504 B
Python
def f():
|
|
n = 0
|
|
while True:
|
|
n = yield n + 1
|
|
print(n)
|
|
|
|
g = f()
|
|
try:
|
|
g.send(1)
|
|
except TypeError:
|
|
print("caught")
|
|
|
|
print(g.send(None))
|
|
print(g.send(100))
|
|
print(g.send(200))
|
|
|
|
|
|
def f2():
|
|
print("entering")
|
|
for i in range(3):
|
|
print(i)
|
|
yield
|
|
print("returning 1")
|
|
print("returning 2")
|
|
|
|
g = f2()
|
|
g.send(None)
|
|
g.send(1)
|
|
g.send(1)
|
|
try:
|
|
g.send(1)
|
|
except StopIteration:
|
|
print("caught")
|
|
try:
|
|
g.send(1)
|
|
except StopIteration:
|
|
print("caught")
|