• python 迭代器/生成器/迭代对象


    生成器: 带有yield的函数

    迭代器:带有next 方法的对象,可以作为内建函数next的参数

    迭代对象:带有__iter__方法的对象,__iter__方法返回迭代器

    -----------------------------------------------

    迭代对象可以用for遍历

    生成器是一种迭代器,生成器可以通过send方法与调用方双向沟通

    迭代对象和迭代器的联系是:可以对迭代对象使用iter()方法来生成迭代器

    ----------------------------------------------

    总结:

    1.迭代器一定是迭代对象,迭代对象不一定是迭代器

    2.生成器一定是迭代器,迭代器不一定是生成器

    3.使用for...in...来遍历迭代对象是最常用的方式

    ------------------------------------------------------------

    例如: python2里的xrange,python3里的range   是迭代对象,但不是迭代器,其__iter__返回一个生成器

    所以不可以next(range(5)), 但是可以 next(iter(range(5)))

  • 相关阅读:
    继承 多态
    封装练习
    PHP 面向对象封装
    面向对象 类和对象
    PHP前端和数据库的连接
    数组2
    PHP数组
    正则表达式
    PHP字符串
    linux基础
  • 原文地址:https://www.cnblogs.com/mhc-fly/p/8524749.html
Copyright © 2020-2023  润新知