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

    你不向我走来,我便向你走去。
  • 相关阅读:
    洛谷 P1578 奶牛浴场 题解
    LOJ167 康托展开 题解
    三校联训 【NOIP模拟】寻找
    洛谷 P1809 过河问题 题解
    有关多边形面积的总结
    LOJ 103 字串查找 题解
    洛谷 P2384 最短路 题解
    POJ 2492 A Bug's Life 题解
    LOJ 10214 计算器 题解
    洛谷 P2868 [USACO07DEC]观光奶牛Sightseeing Cows 题解
  • 原文地址:https://www.cnblogs.com/renyongbin/p/15770013.html
Copyright © 2011-2022 走看看