def coroutine(): # сопрогамма while True: yield (yield) corObj=coroutine() corObj.next() #1 print corObj.send(1) #2 corObj.next() print corObj.send(2) corObj.next() print corObj.send(3) corObj.close()
def coroutine(): # сопрогамма while True: yield (yield) corObj=coroutine() corObj.next() #1 print corObj.send(1) #2 corObj.next() print corObj.send(2) corObj.next() print corObj.send(3) corObj.close()
Генератор каждый раз возвращает то, что ему передали. Странный код, к слову.
# -*- coding: utf-8 -*- def coroutine(): while True: a = (yield) or 12345 b = (yield) or 54321 yield (a + b) * 10 corObj=coroutine() print 'next()', corObj.next() print 'send(1)', corObj.send(1) # a = 1 print 'send(2)', corObj.send(2) # b = 2 и выведет результат 30 print 'next()', corObj.next() # None print 'next()', corObj.next() # None print 'next()', corObj.next() # 666660