目录
9.4 python中的迭代器(iterator)
(1)迭代器的特点
(2)迭代器实例及其执行过程
(3)类中同时有__getitem__()方法和__ iter__()方法、__ next __()方法
9.5 python中的生成器(generator)
(1)生成器的特点
(2)生成器实例及其执行过程
(3)生成器的send()方法
(4)生成器中多个yield
迭代器是支持__iter__()和__next__()方法的对象。
前面我们讲到可以通过函数iter把对象转换为迭代器,也可以手动定义一个迭代器(iterator)。一个类如果具有__iter__()和__next__()方法,则这个类的实例化的类对象地址object是一个迭代器。类中同时出现__iter__()和__next__()方法,类的实例化才是迭代器。注意,必须要具有这两个方法,若一个类有__iter__()方法,而没有__next__()方法,这个类实例化后的对象object不是一个迭代器,只能是一个可迭代对象