Python中的yield和send
2018-07-12 本文已影响0人
Levi__s
创建生成器yield
1、第一种方法:
输出为:
2、第二种方法
输出为:
可以看到,调用next方法后输出第一个结果,然后进行for循环的后面的。
生成器的send方法
输出结果为:
总结
yield的用法是:记住上一次返回时在函数体中的位置,调用此函数从上一次返回的位置开始执行。
send的用法时:send()方法返有一个参数,该参数指定的是上一次被挂起的yield语句的返回值。
区别:当send()的参数为None时,正好与next方法等价。在调用send()方法时,要么先调用一次next()
到函数挂起的位置,或者直接send(None)。
yield form方法
yield from方法用于重构生成器
输出结果为: