def mygen():
a=5
while True:
f=(yield a)
if f is not None:
a=f
>>> g = mygen()
>>> g.next()
5
>>> g.next()
5
>>> g.send(7) #we send this back to the generator
7
>>> g.next() #now it will yield 7 until we send something else
7