Python迭代器与生成器如何实现

这篇文章主要讲解了“Python迭代器与生成器如何实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python迭代器与生成器如何实现”吧!

通江网站制作公司哪家好,找成都创新互联公司!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设公司等网站项目制作,到程序开发,运营维护。成都创新互联公司于2013年创立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联公司

迭代

迭代是访问集合元素的一种方式。迭代器是一个可以记住遍历的位置的对象。迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。

可迭代对象

以直接作用于 for 循环的数据类型有以下几种:

一类是集合数据类型,如 list 、 tuple 、 dict 、 set 、 str 等;

一类是 generator ,包括生成器和带yield 的generator function。

这些可以直接作用于 for 循环的对象统称为可迭代对象: Iterable 。

判断可迭代对象

isinstance

使用内置函数 isinstance() 判断其是否为 Iterable 的对象

from collections import Iterablestr = "Hello Python"print(isinstance(str,Iterable))
dir

通过内置函数 dir() 获取这个对象所有方法,检查是否有 '__iter__'

str = 'Hello Python' 
print('__iter__' in dir(str))

迭代器

可以被next()函数调用并不断返回下一个值的对象称为迭代器:Iterator。

iter()函数

生成器都是 Iterator 对象,但 list 、 dict 、 str 虽然是 Iterable ,却不是 Iterator 。把 list 、 dict 、 str 等 Iterable 变成 Iterator 可以使用 iter() 函数:

生成器

创建迭代器另外一种方式就是使用生成器,生成器是一个函数,这个函数的特殊之处在于它的 return 语句被 yield 语句替代。

for i in range(1, 10, 1):    print(i)def customRange(star, stop, step):    x = star    while x < stop:        yield x        x += stepfor i in customRange(1, 10, 0.5):    print(i)

生成器表达式(Generator Expression)

成器表达式的写法如下:

生成器 = (针对项的操作 for 项 in 可迭代对象)

感谢各位的阅读,以上就是“Python迭代器与生成器如何实现”的内容了,经过本文的学习后,相信大家对Python迭代器与生成器如何实现这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!


网站栏目:Python迭代器与生成器如何实现
本文路径:http://pwwzsj.com/article/ijsdcc.html