class MyRange:
def __init__(self, start, end):
self.value = start
self.end = end
def __iter__(self):
return self
def __next__(self):
#若当前值大于最后值,捕获StopIteration 异常
if self.value >= self.end:
raise StopIteration
current = self.value
self.value += 1
return current
for num in MyRange(1,4):
print(num)
迭代器(Iterator)是一种设计模式,它允许对象按照顺序访问集合中元素,而不必暴露集合的内部表示。迭代器通常用于遍历集合中的元素,而不需要了解集合的内部实现细节。
在Python中,迭代器通常通过iter()和next()函数使用。例如:
my_list = [1, 2, 3, 4, 5]
my_iter = iter(my_list)
# 使用next()函数获取下一个元素
print(next(my_iter)) # 输出: 1
print(next(my_iter)) # 输出: 2
# ...