1.外部作用域可以访问生成器的send方法,参数是给生成器传递的消息;
2.使用next方法后,yield返回None;
3.在生成器挂起后(即:yield函数第一次被执行后),再使用send方法;
4.用yield返回值的表达式要加括号.
def repeater(value):
while True:
new = (yield value)
if new is not None:
value = new
if __name__ == '__main__':
r = repeater(42)
print r.next()
print r.send('Hello World!')