Python 建立迭代器
建立迭代器
要建立一個物件/類作為迭代器,你必須在你的物件中實現 __iter__()
和 __next__()
方法。
正如你在 Python 類/物件 章節中學到的,所有類都有一個名為 __init__()
的函式,它允許你在建立物件時進行一些初始化。
__iter__()
方法的作用類似,你可以進行操作(初始化等),但必須始終返回迭代器物件本身。
__next__()
方法也允許你進行操作,並且必須返回序列中的下一個項。
示例
建立一個迭代器,從 1 開始,每次序列增加一(返回 1,2,3,4,5 等)。
class MyNumbers
def __iter__(self)
self.a = 1
return self
def __next__(self)
x = self.a
self.a += 1
return x
myclass = MyNumbers()
myiter = iter(myclass)
print(next(myiter))
print(next(myiter))
print(next(myiter))
print(next(myiter))
print(next(myiter))
自己動手試一試 »