在使用迭代器,需要导入:
form collections import Iterable
同时,在使用迭代器无法正常使用for循环,所以要在之前封装的类中添加一个__iter__方法:
def __iter__(self):
'''如果想要一个对象称为一个可以迭代的对象,即可以使用for,那么必须实现__iter__方法'''
pass
同时,要判断一下你所封装的这个类是否是一个可以迭代的对象,则:
form collections import Iterable
#判断是否可以迭代
form collections import Iterator
#判断是否是一个迭代器
print(isinstance(classmate,Iterable))
所以,在迭代中想使用for循环:
1.判断for循环中后边的对象是否可以迭代
2.判断__iter__方法是否可以返回一个具有__iter__和__next__方法
所以在创建一个类进行返回,并让两个类有所关联:
class ClassIterator(object):
def __iter__(self):
pass
def __next__(self):
pass
在取值中,使用
raise StopIteration
抛出异常可以停止循环