Ai
2 Star 0 Fork 1

jackfrued/python2004

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
example20.py 650 Bytes
一键复制 编辑 原始数据 按行查看 历史
jackfrued 提交于 2020-11-30 09:45 +08:00 . 生成器和迭代器
"""
迭代器:实现了迭代器协议的对象。
Python中通过魔术方法来表示协议,迭代器协议对应两个魔术方法:
~ __iter__:获取迭代器对象
~ __next__:获取下一个元素
"""
class FibIter:
def __init__(self, num):
self.a, self.b = 0, 1
self.counter = 0
self.num = num
def __iter__(self):
return self
def __next__(self):
if self.counter < self.num:
self.a, self.b = self.b, self.a + self.b
self.counter += 1
return self.a
raise StopIteration()
fib_iter = FibIter(20)
for value in fib_iter:
print(value)
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Python
1
https://gitee.com/jackfrued/python2004.git
git@gitee.com:jackfrued/python2004.git
jackfrued
python2004
python2004
master

搜索帮助