升木 发表于 2018-8-15 08:20:35

python-迭代器详解

  本来在写生成器,但是生成器就是一种特殊的迭代器,所以我觉得还是先把迭代器写一下。
什么是迭代
  可以直接作用于for循环的对象统称为可迭代对象(Iterable)。
  可以被next()函数调用并不断返回下一个值的对象称为迭代器(Iterator)。
  所有的Iterable均可以通过内置函数iter()来转变为Iterator
  迭代类型:
  1,for循环:可用于任何可迭代的对象,实际上对python中所以会从左到右扫描对象的迭代工具而且都是如此,这些迭代工具包括了for循环,列表解析,in成员关系测试以及map内置函数等。
  2.文件迭代器:因为文件对象就是自己的迭代器,优点是:(减少内存的使用,不需要把所以内容都加载到内存中)
  3,手动迭代:iter和next
  通过for循环开始时,会通过它传给iter内置函数,以便从可迭代对象中获取一个跌打器,返回的对象含有需要的next方法(这一步对于文件来说不是必须的,因为文件对象就是自己的迭代器)
  例如:
#文件  
>>> import tab
  
>>> f=open("test","r")
  
>>> iter(f) is f
  
True
  
#序列字符串
  
>>> a=
  
>>> iter(a) is a
  
False
  liefs
页: [1]
查看完整版本: python-迭代器详解