一.概念 • 迭代器协议: 对象必须提供一个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…
name = 'alex' def foo(): name = 'jinling' def bar(): print(name) return bar a = foo() print(a) 阅读上述代码,理解 a 得到的是函数bar 的内存地址,想要运行bar 只需a(),因为bar 函数没有return,所以返回了None name = 'alex' def foo(): name = 'jinling' def bar(): print(name) return bar a = foo()…