常有人问,什么是Python生成器、为什么要用Python生成器、如何使用Python生成器?接下来让我们一起来了解这个生产工具吧 。
首先,为什么要有生成器?
文章插图
与其说为什么要使用,不如先来看看为什么要有这个东西 。生成器中引入PEP 255后,生成器就是Python中极其重要的一部分 。由于使用生成器是一次处理一个数据,在内存和存储的需求上会比使用list方式直接全部生成再存储节省很多资源 。它可以说是一个不怎么占计算机资源的一种方法 。
生成器可以让开发者自定义一个有迭代器行为的函数,它能够让开发者更快、更便捷的创建一个迭代器 。
简单的生成器
我们可以用列表推导(生成式)来初始化一个列表,如图所示:
我们用差不多的方法来做出一个生成器,只不过我们只要将上面的[ ]换成( )如图所示:
看到上面print(gen) 并不是直接输出结果,而是告诉我们这是一个生成器 。
那什么是迭代器?
初步理解,迭代器是我们平时做某件事的步骤,例如我们做饭的步骤:首先我们要洗菜,然后切菜,接着炒菜,最后就是出锅开吃了!
从专业的角度上来说Iterator即为迭代器,迭代器是一个可被迭代(循坏)的对象,它能够抽象为一个装着数据同时又有着能够迭代对象行为的容器 。每天在使用的一些可迭代的对象例如:字符串、列表、字典或其它名字的对象 。一个迭代器是一个实现了迭代器接口 Iterator Protocol的类. 这个接口为类提供了两个方法: __iter__ 和 __next__ 。
【Python生成器是什么?为什么要使用Python生成器】以上内容就是为什么要使用Python生成器和什么是Python生成器啦!
推荐阅读
- 35岁学Python晚吗?看完这篇文章应该就有答案了
- 如何使用 Python 生成器?看完你就会了
- Python中input与raw_input是什么意思?有什么区别?
- Python数据可视化库有哪些?让我来告诉你
- Python可以开发IOS吗?看完就有答案了
- Python怎么将嵌套JSON转为DataFrame格式?方法在这里
- Python有哪些常用的文件操作方法?python操作文件怎么做
- 如何在Python中自动下载缺失的库?Python自动下载库方法
- Python如何删除指定文件夹?Python怎么删除文件
- Python如何实现Excel自动化?Python怎么自动操作表格