首页 > 代码库 > Python: 迭代器与生成器小结
Python: 迭代器与生成器小结
迭代器与生成器的区别:
1. 迭代器由Class对象创建. 生成器由包含yield表达的Function对象或者Generator Expression创建.
2. 迭代器的原理:
(1)由Iterable.__iter__()返回Iterator.
(2)由Iterator.__next__()返回迭代值, 直到StopIteration.
一般迭代器同时实现__iter__()与__next__(), 在__iter__()返回self, 在__next__()返回迭代值,直到StopIteration
生成器原理:
(1)生成器都有next(), send(), close(), throw()
(2)调用next()/send(V)执行到下一个yield表达式,并返回yield表达式结果. 如果是send(V)将用V代替yield表达式的值往下执行, next()等价send(None)
(3)生成器不允许return任何值.
Python: 迭代器与生成器小结
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。