yield - . - , .send, None, ( , next .send). .send - , , , , . , , .send, ( None), , yield, ( None).
:
def gen():
sent1 = yield 1
print(sent1, "was sent")
sent2 = yield 2
print(sent2, "was sent")
print("Reached end of generator")
g = gen()
print(next(g), "was yielded")
print(g.send("A"), "was yielded")
print(g.send("B"), "was yielded")
next(g)
1 was yielded
A was sent
2 was yielded
B was sent
Reached end of generator
next None, yield yield (yield) (.. ). send 10 yield. , send, . , send , , , None. , send, ; None , . , , . , send yield, yield . ( , , script, , print .)
, :
def gen():
yield (yield (yield (yield "WHOA")))
>>> g = gen()
>>> next(g)
'WHOA'
>>> g.send(1)
1
>>> g.send(2)
2
>>> g.send(3)
3
>>> g.send(4)
Traceback (most recent call last):
File "<pyshell#11>", line 1, in <module>
g.send(4)
StopIteration
, , , . , yield yield. yield "" yield . , , StopIteration .
. , , , send " " . . send , next. next(gen) gen.send(None).