先講結論:
Iterator 是透過一個class 內部宣告__iter__
還有__next__
(python2 是next
)方法來達成可迭代(iterable)的物件(class)
Genetator 是透過yield簡單產生一個iterator的方法(method)
這是一般的iterator
class iterator(object):
def __init__(self, start, stop):
self.start = start
self.stop = stop
def __iter__(self):
return ...