本篇内容主要讲解“python中coroutine的用法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python中coroutine的用法”吧!
说明
1、先调用函数获取生成器对象,再调用next方法或send(None)方法打开coroutine。
2、打开后,函数执行到yield位置,返回yield后挂起,把控制流交回主线程。再调用send法时,可以传输数据并激活协程,继续执行到最后或下一个yield语句。
实例
"""
# BEGIN CORO_AVERAGER_TEST
>>> coro_avg = averager() # <1>
>>> next(coro_avg) # <2>
>>> coro_avg.send(10) # <3>
10.0
>>> coro_avg.send(30)
20.0
>>> coro_avg.send(5)
15.0
# END CORO_AVERAGER_TEST
"""
def averager():
total = 0.0
count = 0
average = None
while True: # <1>
term = yield average # <2>
total += term
count += 1
average = total/count
到此,相信大家对“python中coroutine的用法”有了更深的了解,不妨来实际操作一番吧!这里是天达云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!