Python yield关键字是什么意思?从可迭代对象(Iterable)迭代器(Iterator)生成器 (Generator) 说起
刚接触到迭代器,生成器的时候常常分不清这些概念的区别,下面的一张图很好的展示了他们的关系: 也就是: 父类 子类 iterable iterator,一些container container list, set, dict iterator generator 这里不对container展开讨论 一、iterable 很多容器都是可迭代对象,但凡是可以返回一个迭代器的对象都可称之为可迭代对象,有了迭代器才能迭代嘛。 那怎么可以返回一个迭代器呢?只要是实现__iter__()魔法方法的类,调用it = iter(该类对象),返回的就是一个迭代器(it是一个迭代器)。
用户评论