# 1.Iterable: 可迭代;
# 定义 __iter__(); (返回一个迭代器) 那么这个对象就可以for循环
#
# 2.Iterator: 定义迭代器;
# 定义 __iter__(); (返回一个迭代器)
# 定义 __next__(); (返回迭代器中的下一个值,没有了抛出异常,注意索引值)
from collections import Iterable # 判断是否可迭代
from collections import Iterator # 判断是否是迭代器
# 自定义一个可迭代类 : 某个属性是一个列表
class StudentList(object):
# 自定义一个属性,将来让他们遍历这个属性
def __init__(self):
self.items = []
# 能够向里面添加数据
def append_student(self, stu_name):
self.items.append(stu_name)
# 定义 __iter__(); (返回一个迭代器)
def __iter__(self):
# 只要我们再创建一个迭代器,就OK了
tor = StudentIterator(self.items) # 参数是要遍历(迭代)的对象
print('StudentIterator创建出来的对象', isinstance(tor, Iterator),'迭代器')
return tor
# 2.Iterator: 定义迭代器;
# 重写 __iter__(); (返回一个迭代器)
# 重写 __next__(); (返回迭代器中的下一个值,没有了抛出异常,注意索引值)
class StudentIterator(o
自定义可迭代类
最新推荐文章于 2022-09-17 10:03:51 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)