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方法用于重构生成器

输出结果为:

上一篇下一篇

猜你喜欢

热点阅读