python - 使用步骤构造迭代器
问题描述
我正在关注这个: 构建一个基本的 Python 迭代器
我有这个代码的一个版本,写成一个生成器函数,它可以工作。
现在我想将生成器函数转换为一个类。
这就是我所拥有的:
class Frange(object):
def __init__(self, value, end=None, step=1.0):
if end is None:
self.start, self.end = 0.0, value
self.step = step
else:
self.start = value
self.end = end
self.step = step
def __iter__(self):
return self
def __next__(self):
if self.start < self.end:
return self.start
for n in Frange(0.5, 2.5, 0.5):
print(n)
无论我尝试什么,我都无法弄清楚在哪里\如何实施该步骤。我要么得到无限的对象流,要么得到 0.5 个。
我可以在 PythonTutor 中看到init部分工作正常。
解决方案
推荐阅读
- python - 获取前 n 个唯一值的索引
- javascript - 有没有办法将 ngClass 附加到伪类?
- javascript - 如何在angularjs中触发每个http请求的功能
- c++ - Vulkan 中的队列家族实际上是什么?
- c - 如何在 C 中正确创建内核并链接到引导加载程序
- go - 使用golang和gorilla websocket库,为什么WriteJson会返回错误?
- angularjs - Angular 7 等价于用于元素克隆的 angularJS 代码
- android - 矢量图像在 Android 中显示错误
- html - 如何将出现的文本放置在最后一个图像头像的位置?
- twitter-bootstrap - Bootstrap btn-group flex-wrap 问题