Python 中的协程与生成器:原理、应用及机器学习案例
1. 协程简介
协程是一种强大的编程结构,常与生成器混淆。很多人将协程描述为“带有额外语法的生成器”,这源于 Python 2.5 引入协程时,是在生成器语法基础上添加了 send 方法。实际上,协程与生成器的区别更为微妙。
1.1 简单协程示例
以下是一个简单的协程示例,用于记录分数:
def tally():
score = 0
while True:
increment = yield score
score += increment
这个协程可用于棒球队的计分应用。以下是使用示例:
white_sox = tally()
blue_jays = tally()
print(next(white_sox)) # 输出: 0
print(next(blue_jays)) # 输出: 0
print(white_sox.send(3)) # 输出: 3
print(blue_jays.send(2)) # 输出: 2
print(white_sox.send(2)) # 输出: 5
print(blue_jays.send(4)) # 输出: 6
执行步骤如下:
1. 调用 next() 方法启动协程,执行代码直到遇到 yield
超级会员免费看
订阅专栏 解锁全文
48

被折叠的 条评论
为什么被折叠?



