yield是python中生成器的keyword,其作用:1. 函数中使用yield,可以使普通函数变为生成器2. 生成器是一种特殊的iterator3. 重复调用使用的next(), 直到捕获一个异常4. yield是一种特殊的return5. send(msg)是可以传递参数给yield表达式6. send和next都有返回值7. next() or send() 循环执行的的顺序,以代码为例: def consumer(): r = "" while True: print "step 1" n = yield r*20 r = "step 2" print r def produre(gen): gen.next() for i in xrange(6): print("create is %s" %i) r = gen.send(i) print("response is %s" %r) gen.close() 生成器下一次迭代从yield下一行开始,到yield上一行为止