1 Star 0 Fork 0

xinban/Python的内置函数

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
协程.py 1.01 KB
一键复制 编辑 原始数据 按行查看 历史
xinban 提交于 2021-09-16 09:15 . test1
'''
协程会消费掉发送给它的值。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()
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/qitu1024/built-in-functions-of-python.git
[email protected]:qitu1024/built-in-functions-of-python.git
qitu1024
built-in-functions-of-python
Python的内置函数
master

搜索帮助