`
Mr_Tank_
  • 浏览: 21261 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

Python3 自定义迭代器

 
阅读更多

1、迭代器基于下面两个个方法:

(1)__next__ 返回容器的下一个项目

(2)__iter__ 返回迭代器本身

2、当序列遍历完时,将抛出StopIteration异常,所以通过捕获这个异常来停止循环

下面是自定义迭代器的示例代码:

#encoding:UTF-8
class MyIterator(object):
    def __init__(self,step):
        self.step=step
    
    def __next__(self):
        if self.step==0:
            raise StopIteration
        self.step-=1
        return self.step
    
    def __iter__(self):
        return self
    
for i in MyIterator(6):
    print(i)
输出结果:
>>> ================================ RESTART ================================
>>> 
5
4
3
2
1
0
>>> 



分享到:
评论

相关推荐

    Python—-迭代器与生成器

    Python学习之路,点击有全套Python笔记 迭代器是Python最强大的功能之一,是访问...生成器本质上是迭代器,是一个自定义迭代器 列表所有数据都在内存中,如果有海量数据的话将会非常耗内存。如果列表元素按照某种算法推

    Python进阶之迭代器与迭代器切片教程

    迭代器是 Python 中独特的一种高级特性,而切片也是一种高级特性,两者相结合,会产生什么样的结果呢? 1、迭代与迭代器 首先,有几个基本概念要澄清:迭代、可迭代对象、迭代器。 迭代 是一种遍历容器类型对象...

    Python可迭代对象、迭代器详解

    自定义类创建对象使用for循环3.1 自定义类实现__iter()__方法3.2 迭代器3.3 自定义迭代器类 1. 可迭代的概念首窥 想要了解迭代器,需要首先明确可迭代的概念。下面首先通过for循环来引出可迭代的概念。我们知道,在...

    详解Python3中的迭代器和生成器及其区别

    本篇将介绍Python3中的迭代器与生成器,描述可迭代与迭代器关系,并实现自定义类的迭代器模式。 迭代的概念 上一次输出的结果为下一次输入的初始值,重复的过程称为迭代,每次重复即一次迭代,并且每次迭代的结果是下...

    【JavaScript源代码】学会javascript之迭代器.docx

    学会javascript之迭代器  目录 简介 js 中的迭代器是什么样子的 迭代协议 可迭代协议 迭代器协议 迭代过程 迭代总结 自定义迭代 传统写法 生成器函数写法  简介  js 中的迭代器是什么样子的  迭代协议  可迭代...

    Python岗位常规面试题.pdf

    请说明在Python中如何自定义迭代器。 4. 什么是Python中的闭包(Closure)?请举例解释在Python中如何使用闭包。 5. 请解释Python中的多线程和多进程的区别,以及如何在Python中实现多线程和多进程。 6. Python中的...

    Python通过for循环理解迭代器和生成器实例详解

    本文实例讲述了Python通过for循环理解迭代器和生成器。分享给大家供大家参考,具体如下: 迭代器 可迭代对象 通过 for…in… 循环依次拿到数据进行使用的过程称为遍历,也叫迭代。我们把可以通过 for…in… 语句...

    Python3之手动创建迭代器的实例代码

    迭代器即可以遍历诸如列表,字典及字符串等序列对象甚至自定义对象的对象,其本质就是记录迭代对象中每个元素的位置。迭代过程从第一个元素至最后一个元素,且过程不能回滚或反方向迭代。 两个基本方法iter、next ...

    Python常见面试题.pdf

    1. 什么是 Python?...15. 解释 Python 中的迭代器和迭代对象的概念。 16. 解释 Python 中的生成器函数和生成器表达式的概念。 17. 什么是虚拟环境(Virtual Environment)?如何创建和使用虚拟环境? 18. ......

    Python教程大全入门到实战

    Python 迭代器 list 生成式(列表生成式) 生成器 迭代器和生成器综合例子 面向对象 面向对象的概念 类的定义和调用 类方法 修改和增加类属性 类和对象 初始化函数 类的继承 类的多态 类的访问控制 模块与包 Python ...

    python cookbook(第3版)

    4.16 迭代器代替while无限循环 第五章:文件与IO 5.1 读写文本数据 5.2 打印输出至文件中 5.3 使用其他分隔符或行终止符打印 5.4 读写字节数据 5.5 文件不存在才能写入 5.6 字符串的I/O操作 5.7 读写压缩...

    Python函数式编程指南:对生成器全面讲解

    生成器是迭代器,同时也并不仅仅是迭代器,不过迭代器之外的用途实在是不多,所以我们可以大声地说:生成器提供了非常方便的自定义迭代器的途径。 这是函数式编程指南的最后一篇,似乎拖了一个星期才写好,嗯…… 1....

    2019千峰Python超详细入门教程(百度云盘分享).docx

    ├─千锋Python教程:第08章 迭代器&生成器&偏函数(6集) │ 千锋Python教程:45.可迭代对象&列表生成式&生成器1.mp4 │ 千锋Python教程:46.可迭代对象&列表生成式&生成器2.mp4 │ 千锋Python教程:47.可迭代对象&...

    Python3.x中自定义比较函数

    单参数(一个迭代器): 复制代码 代码如下: min(iterable[, key=func]) -> value  多参数(多个待比较内容): 复制代码 代码如下: min(a, b, c, …[, key=func]) -> value  本文主要讨论key=func参数的使用 。...

    Python基础教程(第2版.修订版)

    然后循序渐进地介绍了一些相对高级的主题,包括抽象、异常、魔法方法、属性、迭代器。此后探讨了如何将Python与数据库、网络、C语言等工具结合使用,从而发挥出Python的强大功能,同时介绍了Python程序测试、打包、...

    Python filter过滤器原理及实例应用

    其实filter就是一个“过滤器”:把【可迭代的变量】中的值,挨个地传给函数进行处理,那些使得函数的返回值为True的变量组成的迭代器对象就是filter表达式的结果 那filter的第一个参数,即函数的返回的值必须是bool...

    老男孩python 四期

    13、迭代器和生成器 14、lambda 函数使用 15、装饰器 16、项目实践:编写备份程序,具备常规备份、增量备份、差异备份功能 第四天 1、面向对象编程基础 2、类的基本语法 3、编写类练习小程序 4、类的初始化 5、类...

    Python生成器函数

    生成器本质上也是一个迭代器,我的一点理解的话,它也有点像只能执行一轮的单链表,通过 obj.__next__()就获得了当前指针(并不是真的指针)的指向值,同时将将指针指向一下个,过程不可逆,最后一个元素执行完之后...

Global site tag (gtag.js) - Google Analytics