前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python笔记:迭代器

python笔记:迭代器

作者头像
超级大猪
发布2019-11-22 09:45:29
3050
发布2019-11-22 09:45:29
举报
文章被收录于专栏:大猪的笔记

1 原理 指实现系统的迭代接口,这样,我们自己的对象也能使用系统的 for in 来进行迭代循环,是不是很酷! 在每次迭代之时,类的内部状态都发生了变化,所以我们的next函数的实现重点在于,引起类的内部状态变化,使之能记录上下文。 2 实现

代码语言:javascript
复制
# -*- coding: utf-8 -*- 
#迭代打印“张三,李四,王五”
class Employee(object):
    def __init__(self):     
        self._current = ""   
        self.namea = u"张三"
        self.nameb = u"李四"
        self.namec = u"王五"
    
    def __iter__(self):
        self._current = self.namea
        return self
    
    def __next__(self):
        if self._current == self.namea:
            self._current = self.nameb
            return self.namea
        elif self._current == self.nameb:
            self._current = self.namec
            return self.nameb
        elif self._current == self.namec:
            self._current = ""
            return self.namec
        elif self._current == "":
            raise StopIteration           
    
for item in Employee():
    print(item)

for item in Employee():
    print(item)

更多资料

http://www.cnblogs.com/huxi/archive/2011/07/01/2095931.html

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016-05-17 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档