Код: Выделить всё
def gen():
while True:
x = (yield)
if x == 3:
print('received 3!!')
break
else:
yield x
Код: Выделить всё
def gen2():
while True:
yield (yield)
Первое, что я пытаюсь выяснить:
Есть ли хорошее применение такому написанию?
А также, когда вы делаете что-то вроде:
Код: Выделить всё
g = gen2()
next(g)
g.send(10) # output: 10
g.send(2) # output: nothing
g.send(3) # output: 3
g.send(44) # output: nothing
Подробнее здесь: https://stackoverflow.com/questions/458 ... d-yield-do