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__()

  • 相关阅读:
    bugku 求getshell
    HTTP之content-type
    web之robots.txt
    HTTP之User-Agent大全
    bugku 细心
    PHP输入流
    bugku web8
    PHP中sha1()函数和md5()函数的绕过
    bugku 各种·绕过
    【学术篇】烧水问题 打表找规律做法
  • 原文地址:https://www.cnblogs.com/ez2z/p/7473862.html
Copyright © 2011-2022 走看看