文档章节

Python iterable class

n
 neepher
发布于 2015/09/25 11:06
字数 140
阅读 6
收藏 0

将一个类变为iterable应用于需要迭代遍历的场景非常方便。

python中将一个类变为可迭代的分为两步:

1)实现 __iter__() 方法,返回迭代器

2)实现迭代器的next方法

简化方式:

1)在类中定义__iter__方法返回self

2)在类中定义next函数,返回下个对象

实例:

class MakeJobs(object):
    """Iterable job creator"""
    def __init__(self, conf):
        self.index = 0
        self.obj_num = 10

    def __iter__(self):
        return self

    def next(self):
        if self.index == self.obj_num:
            raise StopIteration
        self.index += 1
        ## create obj 并返回,本例中简单返回index
        return self.index



© 著作权归作者所有

n
粉丝 0
博文 4
码字总数 454
作品 0
长春
后端工程师
私信 提问
Python yield 使用浅析(转载)

Python yield 使用浅析 转载http://www.ibm.com/developerworks/cn/opensource/os-cn-python-yield/ 以下是理解归纳 如何生成斐波那契數列 def fab(max): 执行 fab(5) 问题是print太多了 解决...

okker
2013/12/16
633
0
10分钟快速入门Python函数式编程

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/dQCFKyQDXYm3F8rB0/article/details/82117264 作者 | Brandon Skerritt 译者 | 王天宇、琥珀 编辑 | 琥珀 出品...

AI科技大本营
2018/08/27
0
0
python内建函数a-b部分(一)

python内部提供了很多内建函数。下面让我们从a-z开始学习python的内建函数 1.1 abs() 这个相信大家看到名字就会用啦。 print(abs(-10)) 输出是:10 对,abs()就是求绝对值的函数。在python中...

开源中国段子手
2015/07/27
39
0
Python函数式编程中map()、reduce()和filter()函数的用法

Python中、和三个函数均是应用于序列的内置函数,分别对序列进行遍历、递归计算以及过滤操作。这三个内置函数在实际使用过程中常常和联合使用,我们首先介绍下lambda函数。1、lambda函数 la...

损失函数
2018/05/24
0
0
每周一个 Python 模块 | itertools

系列文章列表: 每周一个 Python 模块 | functools Python 标准库模块 itertools 提供了很多方便灵活的迭代器工具,熟练的运用可以极大的提高工作效率。 无限迭代器 创建一个迭代器,生成从 ...

yongxinz
2018/11/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

SIPC的保全存证变现应用才是先见之明

Facebook发起的Libra在接连退群后终于在联盟链上线前官宣成立联盟,同时Telegram公链TON在主网上线前被美国SEC要求退回私募非法所得。两个都拥有活跃用户数上亿的社交平台,一个以1000万美元...

SimpleChain
19分钟前
2
0
Node_初步了解(3)回调,作用域,上下文

本文转载于:专业的前端网站➧Node_初步了解(3)回调,作用域,上下文 1. 1 //回调:回调是异步编程最基本的方法,node.js需要按顺序执行异步逻辑的时候,一般采用后续传递的方式,将后续逻辑...

前端老手
19分钟前
2
0
好程序员Java教程分享Java的五大特点

好程序员Java教程为大家分享Java的五大特点希望对初学者有所帮助。 一、Java的(五大)特点: 1.简单性 相对于c语言来说 c语言的核心 指针(保存地址)*p Java中没有指针的概念(使用的是引用概念...

好程序员官网
21分钟前
2
0
移动端rem适配各种屏幕字体

在页面中引入这个js文件,可以实现各个屏幕的字体自适应: (function (doc, win) { var docEl = doc.documentElement, resizeEvt = 'orientationchange' in window ? 'orientationchange' : ......

流年那么伤
23分钟前
3
0
2019我最喜爱的绿色应用活动投票开始,谁能突出重围?

在去年第一届软件绿色联盟开发者大会上,共有36个绿色应用荣获“2018年度我最喜爱的绿色应用”奖项。活动得到了消费者、开发者与应用厂商的一致好评,刚过完十一假期就有小伙伴们后台留言,问...

软件绿色联盟
33分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部