迭代器
迭代器是访问集合元素的一种方式。
1. 访问者不需要关心迭代器内部的结构,仅仅是通过__next__()方法不断的去取下个内容。
2. 不能随机访问集合内部的某个值,只能从头到尾依次访问。
3. 访问到一半,不能往回退。
4. 便于循环比较大的数据集合,节省内存。
for 循环就具有迭代器的能力。
它能够从前往后访问数据,依次调用__next__()方法,并且知道应该访问多少次,且不会出现错误。
def xrange(n): print("开始执行函数") start = 0 while True: if start >= n: return yield start start += 1 # obj = xrange(3) # n0 = obj.__next__() # n1 = obj.__next__() # n2 = obj.__next__() # print(n0, n1, n2) for i in xrange(3): print(i)