{site_name}

{site_name}

🌜 搜索

Python PEP 234定义了Python中的迭代器协议,迭代器是一种对象,它可以在循环语句中被逐个访问

Python 𝄐 0
迭代器iterator python,python迭代器iter,python迭代器的__next__方法,python中迭代器,python迭代器详解,python迭代器的作用
Python PEP 234定义了Python中的迭代器协议,迭代器是一种对象,它可以在循环语句中被逐个访问。按照迭代器协议,迭代器必须实现两个方法:__iter__()和__next__()。

- __iter__() 方法返回迭代器对象本身。
- __next__() 方法返回迭代器中的下一个元素。如果没有更多的元素,则引发StopIteration异常。

下面是一个示例,其中使用迭代器来计算斐波那契数列:

python
class Fib:
def __init__(self, max):
self.max = max

def __iter__(self):
self.a = 0
self.b = 1
return self

def __next__(self):
fib = self.a
if fib > self.max:
raise StopIteration
self.a, self.b = self.b, self.a + self.b
return fib

fibonacci = Fib(100)
for num in fibonacci:
print(num)


在这个示例中,Fib类实现了迭代器协议并定义了__iter__() 和__next__()方法。当for循环遍历Fib类的实例时,会反复调用__next__()方法并打印出每个元素,直到超过指定的最大值为止。