优草派  >   Python

Python生成器是什么?为什么要使用Python生成器

陈立鑫            来源:优草派

常有人问,什么是Python生成器、为什么要用Python生成器、如何使用Python生成器?接下来让我们一起来了解这个生产工具吧。

首先,为什么要有生成器?

Python生成器是什么?为什么要使用Python生成器

与其说为什么要使用,不如先来看看为什么要有这个东西。生成器中引入PEP 255后,生成器就是Python中极其重要的一部分。由于使用生成器是一次处理一个数据,在内存和存储的需求上会比使用list方式直接全部生成再存储节省很多资源。它可以说是一个不怎么占计算机资源的一种方法。

生成器可以让开发者自定义一个有迭代器行为的函数,它能够让开发者更快、更便捷的创建一个迭代器。

简单的生成器

我们可以用列表推导(生成式)来初始化一个列表,如图所示:

我们用差不多的方法来做出一个生成器,只不过我们只要将上面的[ ]换成( )如图所示:

看到上面print(gen) 并不是直接输出结果,而是告诉我们这是一个生成器。

那什么是迭代器?

初步理解,迭代器是我们平时做某件事的步骤,例如我们做饭的步骤:首先我们要洗菜,然后切菜,接着炒菜,最后就是出锅开吃了!

从专业的角度上来说Iterator即为迭代器,迭代器是一个可被迭代(循坏)的对象,它能够抽象为一个装着数据同时又有着能够迭代对象行为的容器。每天在使用的一些可迭代的对象例如:字符串、列表、字典或其它名字的对象。一个迭代器是一个实现了迭代器接口 Iterator Protocol的类. 这个接口为类提供了两个方法: __iter__ 和 __next__。

以上内容就是为什么要使用Python生成器和什么是Python生成器啦!

【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。
TOP 10
  • 周排行
  • 月排行