Мне нужно явно заправить Delegating_generator, однако мне не нужно делать это для sub_generator.Почему в этом случае комбинация ключевого слова yield from неявно заполняет субгенератор, которому она делегируется?
PEP 380 - Синтаксис для делегирования субгенератору https://www.python.org/dev/peps/pep-0380/
def caller(return_value):
delegating_gen = delegating_generator(return_value)
next(delegating_gen) # priming the delegating generator
# Here send some values to the subgenerator
delegating_gen.send('some data for the subgenerator')
delegating_gen.send(None) # terminate the subgenerator
return return_value
def delegating_generator(return_value):
while True:
return_value = yield from sub_generator()
def sub_generator():
total = 0
while True:
value = yield
if value is None:
break
total += value
return total