首页
学习
活动
专区
圈层
工具
发布

python笔记:迭代器

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

下一篇
举报
领券