Вы можете отправлять значения в генератор, используя функцию send
.
Если вы выполните:
p = protocol()
p.next() # advance to the yield statement, otherwise I can't call send
p.send(5)
тогда yield
вернет 5, поэтому внутри генератора c
будет 5.
Кроме того, если вы позвоните p.next()
, yield
вернет None
.
Вы можете найти больше информации здесь .