zoukankan      html  css  js  c++  java
  • Python自动化开发迭代器

    Python自动化开发-迭代器

    迭代器基础概念

    迭代器:迭代器即迭代的工具,那什么是迭代呢?迭代是一个重复的过程,每次重复即一次迭代,并且每次迭代的结果都是下一次迭代的初始值。

    可迭代对象:可迭代对象指的是内置有__iter__方法的对象,即obj.__iter__。

    迭代器对象:可迭代对象执行obj.__iter__()得到的结果就是迭代器对象,而迭代器对象指的是即内置有__iter__又内置有__next__方法的对象。

    需要提醒下:迭代器对象一定是可迭代对象,而可迭代对象不一定是迭代器对象!

    迭代器例1:可迭代对象

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    
    #迭代器协议例子
    t01=[122,44]
    t02=t01.__iter__()
    print(t02.__next__())
    print(t02.__next__())
    View Code

    代码运行结果:

    122

    44

    迭代器例2:可迭代对象

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    
    dic01={"name":"licy","age":12}
    diedai01=dic01.__iter__()
    print(diedai01.__next__())
    print(diedai01.__next__())
    View Code

    代码运行结果:

    age
    name

    for循环机制

      for循环也是基于遵循迭代器协议!

    next()方法

    next()方法:实际上就是调用对象的可迭代对象next方法
    例1:
    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    
    #next()方法:实际上就是调用对象的可迭代对象next方法
    t01=[1,2,3]
    l=t01.__iter__()
    print(l.__next__())
    print(l.__next__())
    print(l.__next__())
    View Code

    代码执行结果:

    1

    2

    3

    例2:

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    
    #next()方法:实际上就是调用对象的可迭代对象next方法
    t01=[1,2,3]
    l=t01.__iter__()
    print(next(l))
    print(next(l))
    print(next(l))
    View Code

    代码执行结果:与例子结果相同

    1

    2

    3

    你不向我走来,我便向你走去。
  • 相关阅读:
    巨人的崛起 Android操作系统发展历程
    iPhone 4S定位功能加强 支持GLONASS系统
    android子线程更新UI,与主Thread一起工作
    什么在阻碍移动互联网的普及?
    WEB.CONFIG 配置详解
    解决在aspx页面上进行传中文参数时会出现乱码问题
    VS2005水晶报表注册码
    windows2003应用程序池假死的问题
    浅谈ASP.NET内部机制
    合理建立数据库索引
  • 原文地址:https://www.cnblogs.com/renyongbin/p/15770013.html
Copyright © 2011-2022 走看看