1. 可迭代对象 from collection import Iterable class Iterable(metaclass=ABCMeta): ... def __iter__(self): # 只实现了__iter__ 方法 while False: yield None 能够在 for ... in obj:中使用的对象(obj)就是一个可迭代对象. 2. 迭代器 from collections import Iterator class Iterator(Iterable): #…
在Python中,这种一边循环一边计算的机制,称为生成器:generator 要创建一个generator,有很多种方法.第一种方法很简单,只要把一个列表生成式的[]改成(),就创建了一个generator: >>> L = [x * x for x in range(10)] >>> L [0, 1, 4, 9, 16, 25, 36, 49, 64, 81] >>> g = (x * x for x in range(10)) >>&g…