迭代器用于遍历容器中的数据,但它不是容器,它是一个实现了__next__方法的对象
与迭代器相关的内置函数:
iter(): 将一个对象转换成一个迭代器
next(): 访问迭代器中的下一个变量,直到无可用变量,则抛出StopIteration异常
>>> string='demi'
>>> name=iter(string)
>>> next(name)
'd'
>>> next(name)
'e'
>>>for each in range(5):
print(each)
以上for语句等同于下面的代码:
>>>each =iter(range(5))
>>>while True:
try:
print(next(each))
except StopIteration:
break
与迭代器相关的魔法方法:
__iter__(self): 返回迭代器本身
__next__(self): 决定迭代器的方法
>>>class Fibs:
def __init__(self,n=10):
self.a=0
self.b=1
self.n=n
def __iter__(self):
return self
def __next__(self):
self.a,self.b = self.b,self.a+self.b
if self.a > self.n:
raise StopIteration
return self.a
本文介绍了Python迭代器,它用于遍历容器数据,是实现了__next__方法的对象。还介绍了与迭代器相关的内置函数,如iter()和next(),并给出示例。此外,说明了与迭代器相关的魔法方法__iter__和__next__,最后给出了斐波那契数列迭代器的示例。

被折叠的 条评论
为什么被折叠?



