1、生成器函数包含yield from表达式。
2、在yield from表达式处暂停委派生成器,调用方可直接将数据发送给子生成器。
3、子生成器将输出值发送给调用方。
4、解释器会抛出Stopiteration,并将返回值附加到异常对象上。
实例
# 协程代码案例1
def simple_coroutine():
print('-> start')
x = yield
print('-> recived', x)
# 主线程
sc = simple_coroutine()
print(1111)
# 可以使用sc.send(None), 效果一样
next(sc) # 预激
print(2222)
sc.send('zhuxiao')
内容扩展
生成器
在 Python 中,使用了 yield 的函数被称为生成器;跟普通函数不同的是,生成器是一个返回迭代器的函数,只能用于迭代操作,更简单点理解生成器就是一个迭代器;在调用生成器运行的过程中,每次遇到 yield 时函数会暂停并保存当前所有的运行信息,返回 yield 的值, 并在下一次执行 next() 方法时从当前位置继续运行;调用一个生成器函数,返回的是一个迭代器对象。
使用生成器生成斐波那些数列
到此这篇关于python委派生成器的具体方法的文章就介绍到这了,更多相关python如何委派生成器内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!