... continued
This lesson continues the discussion on yield-from.
We'll cover the following...
Returning Values from Yield from
yield from
can also receive the value returned by the subgenerator. Consider the example below. The nested_generator()
returns the value 999 and is printed by the outer_generator()
.
def nested_generator():
i = 0
while i < 5:
i += 1
yield i
# return a value from the sub-generator
return 999
def outer_generator():
nested_gen = nested_generator()
# outer generator receives the return value of the sub-generator
ret_val = yield from nested_gen
print("received in outer generator: " + str(ret_val))
if __name__ == "__main__":
gen = outer_generator()
for item in gen:
print(item)