zoukankan      html  css  js  c++  java
  • 迭代器

      

    from collections import Iterable #检测一个对象是否可迭代

    #   ‘——iter——’这个方法导致了一个数据类型的可迭代

          iter

          #只要包含了“双下iter”方法的数据类型就是可迭代的  —   可迭代协议

          #数据类型和pyth解释器订下来的协议

          #  print([1,2,3].__iter__())  #   list_iterator

         #  迭代器就是实现了能从其中一个一个的取出值来

         迭代器中有  __next__  和  __iter__  方法   ——  迭代器协议

         学过的所有可以被for循环的  基本数据类型 都是可迭代的  而不是迭代器

    # 可迭代对象

           可迭代协议:含有 __iter__方法的对象

           from collections  import iterable

           print(isinstance(要检测的对象,Iterable))

    #  迭代器

      # 迭代器协议:含有 __iter__ 和  __next__ 方法的对象

         from collections import Iyerator

         print(isinstance(要检测的对象,Iterator))

    # 迭代器和可迭代对象之间的关系

          迭代器包含了可迭代对象

          迭代器  =   可迭代对象.__iter__() 

    #   为什么要有迭代器,迭代器存在的本质是什么:

           1.能够对python中的基本数据类型进行统一的遍历,不需要关心每一个值是什么

           2.它可以节省内存 — 惰性运算

        迭代器   天生的,比如文件句柄   后天的,可迭代对象.__iter__()

  • 相关阅读:
    1.python简介
    JSP标准标签库:JSTL
    冒泡排序算法
    中英文金额大写转换器
    递归与斐波那契数列
    web.xml配置文件详解
    Servlet及相关类和接口
    Servlet初始化及处理HTTP请求
    [转]jqGrid 属性、事件全集
    java web 过滤器跟拦截器的区别和使用
  • 原文地址:https://www.cnblogs.com/ez2z/p/7473862.html
Copyright © 2011-2022 走看看