• 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

    你不向我走来,我便向你走去。
  • 相关阅读:
    C语言实现单处理器的进程管理
    哈夫曼编码
    栈与队列的应用:停车场管理
    带括号的表达式求值
    表达式求值(无括号)
    处理代码异常
    在Pyhon中使用:网络编程 & 接口开发
    枚举函数(enumerate)
    【Redis】数据库相关操作
    数据库(新增数据、建立数据表、复制、对比表数据)
  • 原文地址:https://www.cnblogs.com/renyongbin/p/15770013.html
Copyright © 2020-2023  润新知