Let's say that exists a function as such:
def subroutine():
While True:
value = yield
yield value**2
For a fact, I know that the output is a generator that squares the input, and this subroutine is run after other generator(s) have been priorly run. However, I don't understand how value = yield
actually gets its value.