摘要: 生成器初识 什么是生成器 生成器本身属于迭代器。继承了迭代器的特性,惰性求值,占用内存空间极小。 为什么要有生成器 我们想使用迭代器本身惰性求值的特点创建出一个可以容纳百万级别的迭代器。(节省内存)又不想通过调用可迭代对象下的__iter__方法来创建这样的迭代器。(未经过优化的可迭代对象本身就占据 阅读全文
posted @ 2020-05-18 23:01 云崖先生 阅读(319) 评论(1) 推荐(1) 编辑
摘要: 迭代器协议 迭代器协议规定:对象内部必须提供一个__next__方法,对其执行该方法要么返回迭代器中的下一项(可以暂时理解为下一个元素),要么就引起一个Stopiteration异常以终止迭代。(当所有元素被取干净后其实内部就会自动触发Stopiteration) 可迭代对象是指对象内部必须提供一个 阅读全文
posted @ 2020-05-18 11:36 云崖先生 阅读(344) 评论(1) 推荐(1) 编辑