浅谈Python中的协程
1.什么是协程
协程在句法上可以看做是一种特殊的生成器,在协程中yield关键字是处在等于号的右边,协程可以产出相应的值并且接受send方法传递进来的值,协程会在yield关键字处暂停,等待调用方来向协程传递值。协程是指一个过程,这个过程与调用方协作,产出由调用方提供的值。
2.协程的简单使用
(1)simple_coroutine是我们定义的一个简单的协程,定义体中有yield关键字且yield关键字是处于等号的右边,
(2)通过调用函数我们得到的是一个生成器对象,然后我们调用next函数来**协程,协程运行到yield处暂停
(3)调用协程的send方法来向协程传递数值,传递进来的数值被变量x接收
(4)协程运行到末尾像生成器一样抛出了一个StopIteration异常
注意:如果创建协程后立马向协程发送数据会出现如下错误
my_coro是一个简单的协程,调用next函数后打印出a的值,并且产出a的值后暂停
(2)调用send传递参数2之后,b接收了这个数值,打印出b的值并且产出a+b的值
(3)c接收传递进来的数值3此时协程运行结束,抛出异常。