六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 54|回复: 0

python 之 迭代器

[复制链接]

升级  68.2%

265

主题

265

主题

265

主题

进士

Rank: 4

积分
841
 楼主| 发表于 2013-1-15 02:16:10 | 显示全部楼层 |阅读模式
python3.0以前用next() 替换__next__
 
#!/ur/bin/env pythonimport sys;import os;class CFib:    '''create a fib iterator'''        def __init__(self, nMaxVal):        self.m_nMaxVal = nMaxVal;            def __iter__(self):        print("CFib::__iter__");                self.m_nStart = 0;        self.m_nEnd = 1;                return self;        def __next__(self):        print("CFib::next");                nFib = self.m_nStart;                if nFib > self.m_nMaxVal:            raise StopIteration;                self.m_nStart, self.m_nEnd = self.m_nEnd, self.m_nStart + self.m_nEnd;        return nFib;#end of class CFibif "__main__" == __name__:    fib = CFib(1000);        print(fib);    print(fib.__doc__);        for i in fib:         print(i);    for i in fib:        print(i);      
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表