zoukankan      html  css  js  c++  java
  • 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)))

  • 相关阅读:
    函数作业1
    函数、装饰器、迭代器、内置方法总练习题
    疑问
    装饰器
    文件练习题1,2
    内置函数练习题和总结
    GET和POST请求的区别
    HTTP请求方法
    HTTP之状态码
    HTTP之响应消息Response
  • 原文地址:https://www.cnblogs.com/mhc-fly/p/8524749.html
Copyright © 2011-2022 走看看