Python 中的迭代器通常是指實現了__iter__
和__next__
方法的對象。在 Python 中,可以通過next()
函數來調用迭代器的__next__()
方法,從而遍歷迭代器返回的元素。
class MyIterator: def __init__(self, start, end): self.current = start self.end = end def __iter__(self): return self def __next__(self): if self.current< self.end: result = self.current self.current += 1 return result else: raise StopIteration my_iterator = MyIterator(0, 5) # 遍歷迭代器 while True: try: print(next(my_iterator)) except StopIteration: break
在這個例子中,我們定義了一個MyIterator
類,實現了__iter__()
和__next__()
方法。在__init__()
方法里,我們初始化了當前值和結束值。在__iter__()
方法中,我們返回了自身,使得MyIterator
對象可以被迭代。在__next__()
方法中,我們判斷當前值是否小于結束值,如果是,就返回當前值并將當前值加 1;否則,就拋出一個StopIteration
異常,表示迭代結束。
在主程序中,我們用MyIterator(0, 5)
創建了一個迭代器對象,并使用while
循環遍歷了它返回的所有元素,直到遇到StopIteration
異常。
事實上,Python 中的很多數據結構都是迭代器。比如,list
、tuple
、set
、dict
等。這意味著我們可以直接使用for
循環來遍歷它們:
my_list = [0, 1, 2, 3, 4] # 遍歷列表 for element in my_list: print(element)
在這個例子中,我們定義了一個列表my_list
,并使用for
循環遍歷了它返回的所有元素。
總之,迭代器是 Python 中非常常見的概念。熟練掌握迭代器的使用,可以使我們的代碼更加簡潔、高效。
下一篇vue clas