美文网首页
python | 迭代器与生成器

python | 迭代器与生成器

作者: 君子月满楼 | 来源:发表于2017-12-28 19:16 被阅读17次

    概念

    1. 迭代器 & 迭代器对象:两者是同一概念,实现了__iter__()、__next__()的实例对象,即可称为迭代器或迭代器对象。
    2. 可迭代对象:使用iter()方法可以返回一个迭代器的实例对象。由于iter()方法是调用实例对象的__iter__()方法,因此可迭代对象都实现了__iter__()方法,且返回一个迭代器。
    3. 生成器:使用yield关键字的函数(暂时没见过类和、实例)。该函数返回一个迭代器。因此生成器一定是迭代器,但迭带起不一定是生成器。
    4. yield V.S. yield from: yield 是返回一个迭代器,而yield from XXX是将可迭代对象处理成一个迭代器,然后后返回。

    随手记

    1. 使用yield的函数,不是函数对象,而是生成器对象
    2. yield from 语法不存在Python 2种,只存在python 3中
    3. 生成器对象有send()方法,第一次只能传入none参数ß

    相关文章

      网友评论

          本文标题:python | 迭代器与生成器

          本文链接:https://www.haomeiwen.com/subject/pdgvgxtx.html