如何使用 Python 生成器?看完你就会了
上一章节我们了解了什么是Python生成器和为什么要使用Python生成器后,接下来让我来带大家了解如何使用Python生成器这个事半功倍的技术。
如何使用Python生成器?不如我们先来创建一个生成器:
第一种创建生成器的方法很简单,只要把一个列表生成式的[]改成(),就创建了一个generator;如图所示:
创建L和g的区别仅在于最外层的[]和(),L是一个list,而g是一个generator。
第二种创建生成器的方法是如果一个函数中包含yield关键字,那么这个函数就不再是一个普通函数,而是一个generator(生成器)。调用函数就是创建了一个generator(生成器)对象。
现在知道如何创建生成器的方法了,让我们来了解一下生成器的工作原理吧!
1、generator(生成器)能够迭代的主要原因是它有一个非常给力的next方法,生成器的简单工作原理就是通过重复调用这个next方法,直到捕获一个异常。
2、Python项目中带有 yield 函数不再是一个普通函数,而是一个生成器。可用next调用生成器对象来取值。next有两种方式 :t.__next__和next(t)。
3、yield函数相当于return返回的一个值,并且它能够记住返回的位置,下次进行迭代的时候,代码从yield的下一条语句开始读写执行。
4、.send和next函数一样,都能够让generator(生成器)继续往后走,直到遇见yield为止,但是send函数能传递一个值,这个值作为yield表达式整体的结果。
回过头来看,Python生成器确实能够给许多开发者更快、更便捷的创造生产力。从而更高效率的来完成开发任务。以上就是如何使用Python生成器的办法。