zoukankan      html  css  js  c++  java
  • 0803学习日志迭代器

    1 什么是迭代器

      迭代器是一种迭代取值的工具

      迭代是一种重复的过程,每次重复都是基于上一次的结果而来

    2 为什么要使用迭代器

      迭代器是一种不依赖索引取值的工具

      1 可迭代对象,但凡内置有__iter__方法的对象都是可迭代对象

      2 可迭代对象有:str list dict tuple 文件对象

      执行可迭代器对象下的__iter__方法,返回值得到的对象就是迭代器对象

    迭代器对象:

      既内置有__iter__方法的,执行__iter__方法得到的就是迭代器对象本身

      又内置有__next__方法的,执行__next__方法可以不依赖索引取值

    注意:

      1 迭代器对象本身就是可迭代对象,可迭代对象不一定是迭代器对象

      2 文件对象本身就是一个迭代器对象

      3 同一个迭代器对象只能完整的取完一次值

    for 循环的本质就是一个迭代器

      for 循环的工作原理:

      1 调用in后面的__iter__的方法将in后面的值变成迭代器

      2 再调用生成迭代器对象的__next__方法,循环取值,将值赋给in前面的i

      3 再循环结束时,迭代器会抛出异常,for循环会自动的处理异常,使循环结束

    注意:

      从for循环的角度,但凡可以被for循环循环取值的对象都是可迭代对象

    3 迭代器对象总结

      优点:

        1 迭代器对象提供了一种可以不依赖索引取值的方式

        2 每次循环都只取一个值,这使得内存中只有一个值,不占用内存空间

      缺点:

        1 不能取到指定的值

        2 无法估计迭代器对象的长度

  • 相关阅读:
    时间日期事件处理、长按事件
    单选按钮触发事件、下拉列表触发事件
    事件
    笔记3
    笔记2
    笔记1
    布局管理器
    08、shell三剑客之sed
    07、shell三剑客之grep
    06、shell正则表达式
  • 原文地址:https://www.cnblogs.com/jianhaozhou/p/9440644.html
Copyright © 2011-2022 走看看