代码拉取完成,页面将自动刷新
'''
协程会消费掉发送给它的值。Python 实现的 grep 就是个很好的例子:
'''
def grep(pattern):
print("Searching for", pattern)
while True:
line = (yield)
if pattern in line:
print(line)
'''
yield 返回了什么?啊哈,我们已经把它变成了一个协程。
它将不再包含任何初始值,相反要从外部传值给它。
我们可以通过 send() 方法向它传值。这有个例子:
'''
search = grep('coroutine')
next(search)
'''
发送的值会被 yield 接收。我们为什么要运行 next() 方法呢?
这样做正是为了启动一个协程。就像协程中包含的生成器并不是立刻执行,
而是通过 next() 方法来响应 send() 方法。因此,你必须通过 next() 方法来执行 yield 表达式。
'''
search.send("I love you") # 搞不懂协程
search.send("Don't you love me?")
search.send("I love coroutine instead!")
# 我们可以通过调用 close() 方法来关闭一个协程
# search = grep('coroutine')
# search.close()
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。