一.概念 • 迭代器协议: 对象必须提供一个next方法,执行该方法要么返回迭代中的下一项,要么引起一个stopIteration异常,以终止迭代(只能往后走,不能往前退) • 协议是一种约定,python中的 for sum min max map reduce 等,使用迭代器对象访问对象 • 迭代器就是可迭代对象 • 可迭代对象:实现了迭代器协议的对象(如何实现:对象内部定义一个__iter__(方法)) next()函数,next -------->iter_l.__next__(), 本…
一.实现功能:店铺生产包子,消费者来吃 import time def producter(): ret = [] for i in range(10): time.sleep(0.1) ret.append('包子%s'%i) return ret def consumer(res): for index, baozi in enumerate(res): time.sleep(0.1) print('第%s个人吃了%s'%(index, baozi)) a = producter() con…
一.map函数 处理序列(可迭代对象)中的每一个元素,得到的结果是一个‘列表’(其实是个迭代器),该‘列表’元素个数及位置与原来一样 理解下面这段代码: num_l = [1, 2, 4, 6] def add_one(x): return x + 1 #定义一个自加1的函数 def map_test(func, array): ret = [] for i in array: res = func(i) ret.append(res) return ret print(map_test(add…