下面是一个迭代器,它给出了一个开始值和一个停止值,它会产生一个整数,该整数以1递增:
class Iterator:
def __init__(self, start, stop):
self.start = start
self.stop = stop
self._start = self.start
def __iter__(self):
return self
def __next__(self):
self.current = self._start
if self.current >= self.stop:
raise StopIteration
self._start += 1
return self.current
我看到每个人都使用以上版本。以下版本是否更具可读性?如果这是一件好事,它也避免使用if
有条件。
def __next__(self):
self.current = self._start
while self.current < self.stop:
self._start += 1
return self.current
raise StopIteration