import time
def consumeer():
r = ''
while True:
n = yield r
if not n:
return
print('[CONSUMER] Consumer %s...'%n)
time.sleep(1)
r = '200 ok'
def produce(c):
c.next #c.__next__() #python3以后next变成__next__
n= 0
while n<5:
n = n+1
print('[PRODUCE] Procude %s...'%n)
r = c.send(n)
print('[PRODUCE] Comsumer return:%s'%r)
c.close()
if __name__ == '__main__':
c = consumeer()
produce(c)
在执行如下代码时,程序报错
AttributeError: 'generator' object has no attribute 'next'
原因是:
python3以后的generator的next变成了__next__,next是之前的用法